| apply {base} | R Documentation |
Apply Functions Over Array Margins
Usage
apply(x, MARGIN, FUN, ...)
Arguments
x |
the array to be used. |
MARGIN |
a vector giving the subscripts which the function will
be applied over.
|
FUN |
the function to be applied.
In the case of functions like |
... |
optional arguments to |
Value
If each call to FUN returns a vector of length n, then
apply returns an array of dimension c(n,dim(x)[MARGIN])
if n > 1. If n equals 1, apply returns a
vector if MARGIN has length 1 and an array of dimension
dim(x)[MARGIN] otherwise.
If the calls to FUN return vectors of different lengths,
apply returns a list of length dim(x)[MARGIN].
See Also
lapply, tapply, sweep.
Examples
## Compute row and column sums for a matrix:
x <- cbind(x1 = 3, x2 = c(4:1, 2:5))
apply(x, 2, mean, trim = .2)
col.sums <- apply(x, 2, sum)
row.sums <- apply(x, 1, sum)
rbind(cbind(x, Rtot = row.sums), Ctot = c(col.sums, sum(col.sums)))
## Sort the columns of a matrix
apply(x, 2, sort)
ma <- matrix(c(1:4, 1, 6:8), nr = 2)
ma
apply(ma, 1, table) #--> a list of length 2