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` |
list or (atomic) vector to be used. |

`FUN` |
the function to be applied to each element of `X` .
In the case of functions like `+` , `%*%` , etc.,
the function name must be 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. |

### Details

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.

### 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`

.

### 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))))

[Package

*base* version 2.2.1

Index]