dlply {plyr} | R Documentation |
For each subset of a data frame, apply function then combine results into a list
dlply(.data, .variables, .fun = NULL, ..., .progress = "none", .drop = TRUE)
.data |
data frame to be processed |
.variables |
variables to split data frame by, as quoted variables, a formula or character vector |
.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 |
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 data frames
by variables and combines the result into a list. If there are no results,
then this function will return a list of length 0 (list()
).
dlply
is similar to by
except that the results are
returned in a different format.
if results are atomic with same type and dimensionality, a vector, matrix or array; otherwise, a list-array (a list with dimensions) |
|
list of results |
Hadley Wickham <h.wickham@gmail.com>
linmod <- function(df) lm(rbi ~ year, data = transform(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)