function                package:base                R Documentation

_F_u_n_c_t_i_o_n _D_e_f_i_n_i_t_i_o_n

_D_e_s_c_r_i_p_t_i_o_n:

     These functions provide the base mechanisms for defining new
     functions in the R language.

_U_s_a_g_e:

     function( arglist ) expr
     return(value)

_A_r_g_u_m_e_n_t_s:

 arglist: Empty or one or more name or name=expression terms.

   value: An expression.

_D_e_t_a_i_l_s:

     In R (unlike S) the names in an argument list cannot be quoted
     non-standard names.

     If 'value' is missing, 'NULL' is returned.  If it is a single
     expression, the value of the evaluated expression is returned.

     If the end of a function is reached without calling 'return', the
     value of the last evaluated expression is returned.

_W_a_r_n_i_n_g:

     Prior to R 1.8.0, 'value' could be a series of non-empty
     expressions separated by commas.  In that case the value returned
     is a list of the evaluated expressions, with names set to the
     expressions where these are the names of R objects. That is,
     'a=foo()' names the list component 'a' and gives it value the
     result of evaluating 'foo()'.

     This has been deprecated (and a warning is given), as it was never
     documented in S, and whether or not the list is named differs by S
     versions.

_R_e_f_e_r_e_n_c_e_s:

     Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) _The New S
     Language_. Wadsworth & Brooks/Cole.

_S_e_e _A_l_s_o:

     'args' and 'body' for accessing the arguments and body of a
     function.

     'debug' for debugging; 'invisible' for 'return(.)'ing _invisibly_.

_E_x_a_m_p_l_e_s:

     norm <- function(x) sqrt(x%*%x)
     norm(1:4)

     ## An anonymous function:
     (function(x,y){ z <- x^2 + y^2; x+y+z })(0:7, 1)

