| mdply | R Documentation | 
Call a multi-argument function with values taken from columns of an data frame or array, and combine results into a data frame
mdply(
  .data,
  .fun = NULL,
  ...,
  .expand = TRUE,
  .progress = "none",
  .inform = FALSE,
  .parallel = FALSE,
  .paropts = NULL
)
| .data | matrix or data frame to use as source of arguments | 
| .fun | function to apply to each piece | 
| ... | other arguments passed on to  | 
| .expand | should output be 1d (expand = FALSE), with an element for each row; or nd (expand = TRUE), with a dimension for each variable. | 
| .progress | name of the progress bar to use, see
 | 
| .inform | produce informative error messages? This is turned off by default because it substantially slows processing speed, but is very useful for debugging | 
| .parallel | if  | 
| .paropts | a list of additional options passed into
the  | 
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.
A data frame, as described in the output section.
Call a multi-argument function with values taken from columns of an data frame or array
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()).
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(),
mlply()
Other data frame output: 
adply(),
ddply(),
ldply()
mdply(data.frame(mean = 1:5, sd = 1:5), rnorm, n = 2)
mdply(expand.grid(mean = 1:5, sd = 1:5), rnorm, n = 2)
mdply(cbind(mean = 1:5, sd = 1:5), rnorm, n = 5)
mdply(cbind(mean = 1:5, sd = 1:5), as.data.frame(rnorm), n = 5)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.