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)
| .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 |
list of results
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.
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()).
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/.
#> $`1` #> [1] 1 1 1 1 #> #> $`2` #> [1] 2 2 2 #> #> $`3` #> [1] 3 3 #> #> $`4` #> [1] 4 #> #> attr(,"split_type") #> [1] "array" #> attr(,"split_labels") #> #> 1 1 4 #> 2 2 3 #> 3 3 2 #> 4 4 1#> $`1` #> [1] 1 1 1 1 #> #> $`2` #> [1] 2 2 2 #> #> $`3` #> [1] 3 3 #> #> $`4` #> [1] 4 #> #> attr(,"split_type") #> [1] "array" #> attr(,"split_labels") #> times #> 1 1 4 #> 2 2 3 #> 3 3 2 #> 4 4 1#> $`1` #> [1] 1 2 3 4 #> #> $`2` #> [1] 2 3 #> #> $`3` #> [1] 3 2 #> #> $`4` #> [1] 4 3 2 1 #> #> attr(,"split_type") #> [1] "array" #> attr(,"split_labels") #> #> 1 1 4 #> 2 2 3 #> 3 3 2 #> 4 4 1#> $`1` #> [1] 1 2 3 4 #> #> $`2` #> [1] 2 3 4 #> #> $`3` #> [1] 3 4 #> #> $`4` #> [1] 4 #> #> attr(,"split_type") #> [1] "array" #> attr(,"split_labels") #> length #> 1 1 4 #> 2 2 3 #> 3 3 2 #> 4 4 1#> $`1` #> [1] 1 5 9 13 17 #> #> $`2` #> [1] 2 5 8 11 14 17 20 #> #> $`3` #> [1] 3 5 7 9 11 13 15 17 19 #> #> $`4` #> [1] 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #> #> attr(,"split_type") #> [1] "array" #> attr(,"split_labels") #> by #> 1 1 4 #> 2 2 3 #> 3 3 2 #> 4 4 1