Split array, apply function, and return results in a list.
For each slice of an array, apply function then combine results into a list.
alply( .data, .margins, .fun = NULL, ..., .expand = TRUE, .progress = "none", .inform = FALSE, .parallel = FALSE, .paropts = NULL, .dims = FALSE )
.data |
matrix, array or data frame to be processed |
.margins |
a vector giving the subscripts to split up |
.fun |
function to apply to each piece |
... |
other arguments passed on to |
.expand |
if |
.progress |
name of the progress bar to use, see
|
.inform |
produce informative error messages? This is turned off by default because it substantially slows processing speed, but is very useful for debugging |
.parallel |
if |
.paropts |
a list of additional options passed into
the |
.dims |
if |
The list will have "dims" and "dimnames" corresponding to the
margins given. For instance alply(x, c(3,2), ...)
where
x
has dims c(4,3,2)
will give a result with dims
c(2,3)
.
alply
is somewhat similar to apply
for cases
where the results are not atomic.
list of results
This function splits matrices, arrays and data frames by dimensions
If there are no results, then this function will return
a list of length 0 (list()
).
Hadley Wickham (2011). The Split-Apply-Combine Strategy for Data Analysis. Journal of Statistical Software, 40(1), 1-29. http://www.jstatsoft.org/v40/i01/.
alply(ozone, 3, quantile) alply(ozone, 3, function(x) table(round(x)))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.