Learn R Programming

plyr (version 1.5.2)

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

Description

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

Usage

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

Arguments

.data
input list
.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
.drop
should extra dimensions of length 1 be dropped, simplifying the output. Defaults to TRUE
.parallel
if TRUE, apply function in parallel, using parallel backend provided by foreach

Value

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

Details

All plyr functions use the same split-apply-combine strategy: they split the input into simpler pieces, apply .fun to each piece, and then combine the pieces into a single data structure. This function splits lists by elements and combines the result into an array. If there are no results, then this function will return a vector of length 0 (vector()).

laply is very 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 column, not a row.

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

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