Apply a Function over a List or Vector
lapply {base} | R Documentation |
Apply a Function over a List or Vector
Description
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).
Usage
lapply(X, FUN, ...) sapply(X, FUN, ..., simplify = TRUE, USE.NAMES = TRUE) replicate(n, expr, simplify = TRUE)
Arguments
X |
a vector (atomic or list) or an expressions vector. Other objects (including classed objects) will be coerced by as.list . |
FUN |
the function to be applied to each element of X : see Details. In the case of functions like + , %*% , etc., the 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 (language object, usually a call) to evaluate repeatedly. |
Details
FUN
is found by a call to match.fun
and typically is specified as 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 of the same type as X
.
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.
Note
sapply(*, simplify = FALSE, USE.NAMES = FALSE)
is equivalent to lapply(*)
.
References
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
See Also
apply
, tapply
, mapply
for applying a function to multiple arguments, and rapply
for a recursive version of lapply()
, eapply
for applying a function to each entry in an environment
.
Examples
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))))