dlply | 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.
To apply a function for each row, use alply
with
.margins
set to 1
.
dlply(
.data,
.variables,
.fun = NULL,
...,
.progress = "none",
.inform = FALSE,
.drop = TRUE,
.parallel = FALSE,
.paropts = NULL
)
.data |
data frame to be processed |
.variables |
variables to split data frame by, as |
.fun |
function to apply to each piece |
... |
other arguments passed on to |
.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 |
.drop |
should combinations of variables that do not appear in the input data be preserved (FALSE) or dropped (TRUE, default) |
.parallel |
if |
.paropts |
a list of additional options passed into
the |
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. https://www.jstatsoft.org/v40/i01/.
Other data frame input:
d_ply()
,
daply()
,
ddply()
Other list output:
alply()
,
llply()
,
mlply()
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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.