Learn R Programming

plyr (version 1.6)

alply: Split array, apply function, and return results in a list.

Description

For each slice of an array, apply function then combine results into a list. alply is somewhat similar to apply for cases where the results are not atomic.

Usage

alply(.data, .margins, .fun = NULL, ..., .expand = TRUE,
  .progress = "none", .parallel = FALSE)

Arguments

.fun
function to apply to each piece
...
other arguments passed on to .fun
.progress
name of the progress bar to use, see create_progress_bar
.data
matrix, array or data frame to be processed
.margins
a vector giving the subscripts to split up data by. 1 splits up by rows, 2 by columns and c(1,2) by rows and columns, and so on for higher dimensions
.expand
if .data is a data frame, should output be 1d (expand = FALSE), with an element for each row; or nd (expand = TRUE), with a
.parallel
if TRUE, apply function in parallel, using parallel backend provided by foreach dimension for each variable.

Value

  • list of results

Input

This function splits matrices, arrays and data frames by dimensions

Output

If there are no results, then this function will return a list of length 0 (list()).

References

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/.

See Also

Other array input: aaply, adply

Other list output: dlply, llply

Examples

Run this code
alply(ozone, 3, quantile)
alply(ozone, 3, function(x) table(round(x)))

Run the code above in your browser using DataLab