Creating R functions
The R language is a collection of functions; a user can apply built-in functions from various packages to their project, or they can define a function for a particular purpose. In this recipe, we will show you how to create an R function.
Getting ready
If you are new to the R language, you can find a detailed introduction, language history, and functionality on the official R site (http://www.r-project.org/). When you are ready to download and install R, please connect to the comprehensive R archive network (http://cran.r-project.org/).
How to do it...
Perform the following steps in order to create your first R function:
- Type the following code on your R console to create your first function:
>addnum<- function(x, y){ + s <- x+y + return(s) + }
- Execute the
addnum
user-defined function with the following command:>addnum (3,7) [1] 10
Or, you can define your function without a
return
statement:>addnum2<- function(x, y){ + x+y + }
- Execute the
addnum2
user-defined function with the following command:>addnum2(3,7) [1] 10
- You can view the definition of a function by typing its function name:
>addnum2 function(x, y){ x+y }
- Finally, you can use body and formals to examine the
body
andformal
arguments of a function:>body(addnum2) { x + y } >formals(addnum2) $x $y >args(addnum2) function (x, y) NULL
How it works...
R functions are a block of organized and reusable statements, which makes programming less repetitive by allowing you to reuse code. Additionally, by modularizing statements within a function, your R code will become more readable and maintainable.
By following these steps, you can now create two addnum
and addnum2
R functions, and you can successfully add two input arguments with either function. In R, the function usually takes the following form:
FunctionName<- function (arg1, arg2) { body return(expression) }
FunctionName
is the name of the function, and arg1
and arg2
are arguments. Inside the curly braces, we can see the function body, where a body is a collection of a valid statement, expression, or assignment. At the bottom of the function, we can find the return
statement, which passes expression back to the caller and exits the function.
The addnum
function is in standard function syntax, which contains both body
and return
statement. However, you do not necessarily need to put a return
statement at the end of the function. Similar to the addnum2
function, the function itself will return the last expression back to the caller.
If you want to view the composition of the function, simply type the function name on the interactive shell. You can also examine the body
and formal
arguments of the function further using the body
and formal
functions. Alternatively, you can use the args
function to obtain the argument list of the function.
There's more...
If you want to see the documentation of a function in R, you can use the help
function or simply type ?
in front of the function name. For example, if you want to examine the documentation of the sum
function, you would do the following:
>help(sum) > ?sum