plyr (version 1.8.3)

laply: Split list, apply function, and return results in an array.

Description

For each element of a list, apply function then combine results into an array.

Usage

laply(.data, .fun = NULL, ..., .progress = "none", .inform = FALSE,
  .drop = TRUE, .parallel = FALSE, .paropts = NULL)

Arguments

.data
list to be processed
.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
.inform
produce informative error messages? This is turned off by default because it substantially slows processing speed, but is very useful for debugging
.drop
should extra dimensions of length 1 in the output be dropped, simplifying the output. Defaults to TRUE
.parallel
if TRUE, apply function in parallel, using parallel backend provided by foreach
.paropts
a list of additional options passed into the foreach function when parallel computation is enabled. This is important if (for example) your code relies on external data or packages: use the .e

Value

  • if results are atomic with same type and dimensionality, a vector, matrix or array; otherwise, a list-array (a list with dimensions)

Input

This function splits lists by elements.

Output

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

Details

laply is similar in spirit to sapply except that it will always return an array, and the output is transposed with respect sapply - each element of the list corresponds to a row, not a column.

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 output: aaply; daply; maply

Other list input: l_ply; ldply; llply

Examples

Run this code
laply(baseball, is.factor)
# cf
ldply(baseball, is.factor)
colwise(is.factor)(baseball)

laply(seq_len(10), identity)
laply(seq_len(10), rep, times = 4)
laply(seq_len(10), matrix, nrow = 2, ncol = 2)

Run the code above in your browser using DataLab