For each slice of an array, apply function then combine results into a data frame.
adply(.data, .margins, .fun = NULL, ..., .expand = TRUE, .progress = "none", .inform = FALSE, .parallel = FALSE, .paropts = NULL, .id = NA)
| .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 |
| .id | name(s) of the index column(s).
Pass |
A data frame, as described in the output section.
This function splits matrices, arrays and data frames by dimensions
The most unambiguous behaviour is achieved when .fun returns a
data frame - in that case pieces will be combined with
rbind.fill. If .fun returns an atomic vector of
fixed length, it will be rbinded together and converted to a data
frame. Any other values will result in an error.
If there are no results, then this function will return a data
frame with zero rows and columns (data.frame()).
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/.