aaply {plyr} | R Documentation |
For each slice of an array, apply function, keeping results as an array.
aaply(.data, .margins, .fun = NULL, ..., .expand = TRUE, .progress = "none", .inform = FALSE, .drop = TRUE, .parallel = FALSE, .paropts = NULL)
.fun |
function to apply to each piece |
... |
other arguments passed on to |
.progress |
name of the progress bar to use, see
|
.parallel |
if |
.paropts |
a list of additional options passed into
the |
.inform |
produce informative error messages? This is turned off by by default because it substantially slows processing speed, but is very useful for debugging |
.data |
matrix, array or data frame to be processed |
.margins |
a vector giving the subscripts to split
up |
.expand |
if |
.drop |
should extra dimensions of length 1 in the
output be dropped, simplifying the output. Defaults to
|
This function is very similar to apply
,
except that it will always return an array, and when the
function returns >1 d data structures, those dimensions
are added on to the highest dimensions, rather than the
lowest dimensions. This makes aaply
idempotent,
so that aaply(input, X, identity)
is equivalent to
aperm(input, X)
.
if results are atomic with same type and dimensionality, a vector, matrix or array; otherwise, a list-array (a list with dimensions)
This function splits matrices, arrays and data frames by dimensions
If there are no results, then this function will return a
vector of length 0 (vector()
).
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/.
Other array input: a_ply
,
adply
, alply
Other array output: daply
,
laply
, maply
dim(ozone) aaply(ozone, 1, mean) aaply(ozone, 1, mean, .drop = FALSE) aaply(ozone, 3, mean) aaply(ozone, c(1,2), mean) dim(aaply(ozone, c(1,2), mean)) dim(aaply(ozone, c(1,2), mean, .drop = FALSE)) aaply(ozone, 1, each(min, max)) aaply(ozone, 3, each(min, max)) standardise <- function(x) (x - min(x)) / (max(x) - min(x)) aaply(ozone, 3, standardise) aaply(ozone, 1:2, standardise) aaply(ozone, 1:2, diff)