One of the great strengths of R is the user's ability to add functions. In fact, many of the functions in R are actually functions of functions. The structure of a function is given below.
myfunction <-function(arg1, arg2,...){
statements
return(object)}Работает на
Objects in the function are local to the function. The object returned can be any data type. Here is an example.
# function example - get measures of central tendency# and spread for a numeric vector x. The user has a# choice of measures and whether the results are printed.
mysummary <-function(x,npar=TRUE,print=TRUE){if(!npar){
center <- mean(x); spread <- sd(x)}else{
center <- median(x); spread <- mad(x)}if(print &!npar){
cat("Mean=", center,"\n","SD=", spread,"\n")}elseif(print & npar){
cat("Median=", center,"\n","MAD=", spread,"\n")}
result <- list(center=center,spread=spread)
return(result)}# invoking the function
set.seed(1234)
x <- rpois(500,4)
y <- mysummary(x)
Median=4
MAD=1.4826# y$center is the median (4)# y$spread is the median absolute deviation (1.4826)
y <- mysummary(x, npar=FALSE, print=FALSE)# no output# y$center is the mean (4.052)# y$spread is the standard deviation (2.01927)Работает на
It can be instructive to look at the code of a function. In R, you can view a function's code by typing the function name without the ( ).
Finally, you may want to store your own functions, and have them available in every session. You can customize the R environmentto load your functions at start-up.
One of the great strengths of R is the user's ability to add functions. In fact, many of the functions in R are actually functions of functions. The structure of a function is given below.
Objects in the function are local to the function. The object returned can be any data type. Here is an example.
It can be instructive to look at the code of a function. In R, you can view a function's code by typing the function name without the ( ).
Finally, you may want to store your own functions, and have them available in every session. You can customize the R environmentto load your functions at start-up.
To Practice
Try this interactive course on writing functions in R.