Call a multi-argument function with values taken from columns of an data frame or array, and combine results into a list.
mlply(
.data,
.fun = NULL,
...,
.expand = TRUE,
.progress = "none",
.inform = FALSE,
.parallel = FALSE,
.paropts = NULL
)
list of results
matrix or data frame to use as source of arguments
function to apply to each piece
other arguments passed on to .fun
should output be 1d (expand = FALSE), with an element for each row; or nd (expand = TRUE), with a dimension for each variable.
name of the progress bar to use, see
create_progress_bar
produce informative error messages? This is turned off by default because it substantially slows processing speed, but is very useful for debugging
if TRUE
, apply function in parallel, using parallel
backend provided by foreach
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 .export
and .packages
arguments to supply them so that all cluster nodes have the correct
environment set up for computing.
Call a multi-argument function with values taken from columns of an data frame or array
If there are no results, then this function will return
a list of length 0 (list()
).
The m*ply
functions are the plyr
version of mapply
,
specialised according to the type of output they produce. These functions
are just a convenient wrapper around a*ply
with margins = 1
and .fun
wrapped in splat
.
Hadley Wickham (2011). The Split-Apply-Combine Strategy for Data Analysis. Journal of Statistical Software, 40(1), 1-29. https://www.jstatsoft.org/v40/i01/.
Other multiple arguments input:
m_ply()
,
maply()
,
mdply()
Other list output:
alply()
,
dlply()
,
llply()
mlply(cbind(1:4, 4:1), rep)
mlply(cbind(1:4, times = 4:1), rep)
mlply(cbind(1:4, 4:1), seq)
mlply(cbind(1:4, length = 4:1), seq)
mlply(cbind(1:4, by = 4:1), seq, to = 20)
Run the code above in your browser using DataLab