dlply {plyr} | R Documentation |
For each subset of a data frame, apply function then
combine results into a list. dlply
is similar to
by
except that the results are returned in
a different format.
dlply(.data, .variables, .fun = NULL, ..., .progress = "none", .drop = TRUE, .parallel = FALSE)
.fun |
function to apply to each piece |
... |
other arguments passed on to |
.progress |
name of the progress bar to use, see
|
.data |
data frame to be processed |
.variables |
variables to split data frame by, as quoted variables, a formula or character vector |
.drop |
should combinations of variables that do not appear in the input data be preserved (FALSE) or dropped (TRUE, default) |
.parallel |
if |
list of results
This function splits data frames by variables.
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/.
Other data frame input: daply
,
ddply
Other list output: alply
,
llply
linmod <- function(df) { lm(rbi ~ year, data = mutate(df, year = year - min(year))) } models <- dlply(baseball, .(id), linmod) models[[1]] coef <- ldply(models, coef) with(coef, plot(`(Intercept)`, year)) qual <- laply(models, function(mod) summary(mod)$r.squared) hist(qual)