Learn R Programming

plyr (version 1.6)

adply: Split array, apply function, and return results in a data frame.

Description

For each slice of an array, apply function then combine results into a data frame.

Usage

adply(.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

  • A data frame, as described in the output section.

Input

This function splits matrices, arrays and data frames by dimensions

Output

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()).

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, alply

Other data frame output: ddply, ldply