Learning to use functions in R will improve your programming skills greatly. The way I think of functions is I think of them as mini programs you create inside your program.
Below I create function called Times2. The syntax for creating a function is:
FunctionName <- function(parameters) { Action (body of the function) }
You call the function simply by calling it’s name and giving it a parameter.
You can even pass the function a vector
Nest a Function
You can nest functions – call a function from inside another function
Assign Function Output to a Variable
Below, I took the print statements out of the functions and assigned Times2Sqr(2) to a variable y
You can work with this variable just like any other variable
Recursive Function
Recursive Functions are functions that call themselves.
I am using If and Else in this example. If they are foreign to you, don’t worry, I will cover them in a future lesson.
The Code
# create a function in R Times2 <- function(x) { y <- x*2 print(y) } Times2(2) Times2(8) x <- c(1,3,6,3) Times2(x) #nested functions Times2Sqr <- function (x) { y <- Times2(x)**2 print(y) } Times2Sqr(2) # assign function value to variable Times2 <- function(x) { y <- x*2 } Times2Sqr <- function (x) { y <- Times2(x)**2 } y <- Times2Sqr(2) #recursive functions Recur <- function(x) { if (x==0) return(1) else return (x * Recur(x-1)) } Recur(6)