lapply                 package:base                 R Documentation

_A_p_p_l_y _a _F_u_n_c_t_i_o_n _o_v_e_r _a _L_i_s_t _o_r _V_e_c_t_o_r

_D_e_s_c_r_i_p_t_i_o_n:

     'lapply' returns a list of the same length as 'X'.  Each element
     of which is the result of applying 'FUN' to the corresponding
     element of 'X'.

     'sapply' is a "user-friendly" version of 'lapply' by default
     returning a vector or matrix if appropriate.

     'replicate' is a wrapper for the common use of 'sapply' for
     repeated evaluation of an expression (which will usually involve
     random number generation).

_U_s_a_g_e:

     lapply(X, FUN, ...)
     sapply(X, FUN, ..., simplify = TRUE, USE.NAMES = TRUE)

     replicate(n, expr, simplify = TRUE)

_A_r_g_u_m_e_n_t_s:

       X: list or (atomic) vector to be used.

     FUN: the function to be applied to each element of 'X': see
          Details.  In the case of functions like '+', '%*%', etc.,
          function name must be backquoted or quoted.

     ...: optional arguments to 'FUN'.

simplify: logical; should the result be simplified to a vector or
          matrix if possible?

USE.NAMES: logical; if 'TRUE' and if 'X' is character, use 'X' as
          'names' for the result unless it had names already.

       n: number of replications.

    expr: expression to evaluate repeatedly.

_D_e_t_a_i_l_s:

     'FUN' is found by a call to 'match.fun' and typically is either a
     function or a symbol (e.g. a backquoted name) or a character
     string specifying a function to be searched for from the 
     environment of the call to 'lapply'. 

     Function 'FUN' must be able to accept as input any of the elements
     of 'X'.  If the latter is an atomic vector, 'FUN' will always be
     passed a length-one vector.

     Simplification in 'sapply' is only attempted if 'X' has length
     greater than zero and if the return values from all elements of
     'X' are all of the same (positive) length.  If the common length
     is one the result is a vector, and if greater than one is a matrix
     with a column corresponding to each element of 'X'.

     The mode of the simplified answer is chosen to accommodate the
     modes of all the values returned by the calls to 'FUN': see
     'unlist'.

     if 'X' has length 0, the return value of 'sapply' is always a
     0-length list.

_N_o_t_e:

     'sapply(*, simplify = FALSE, USE.NAMES = FALSE)' is equivalent to
     'lapply(*)'.

_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:

     'apply', 'tapply'.

_E_x_a_m_p_l_e_s:

     x <- list(a = 1:10, beta = exp(-3:3), logic = c(TRUE,FALSE,FALSE,TRUE))
     # compute the list mean for each list element
     lapply(x,mean)
     # median and quartiles for each list element
     lapply(x, quantile, probs = 1:3/4)
     sapply(x, quantile)
     i39 <- sapply(3:9, seq) # list of vectors
     sapply(i39, fivenum)

     hist(replicate(100, mean(rexp(10))))

