| lapplydt | R Documentation |
Based on columns in data, run function on subsets of data and return the results in a list, carrying names of the subsets. Say a column is 'model' and you want to create a plot, run a regression or anything on the data for each model. In that case lapplydt(data,by="model",fun=function(x)lm(lAUC~lDose,data=x)). The l in lapplydt is because a list is returned (like lapply), the dt is because the input is a data.table (anything that can be converted to such is OK).
lapplydt(data, by, fun, drop.null = FALSE)
data |
Data set to process. Must be a data.frame-like structure. |
by |
Column to split data by. |
fun |
function to pass to 'lapply()'. If an argument called '.nm' is defined, it gets a special meaning and can be used to retrieve the name of the respective subset. See examples. |
drop.null |
If some subsets return 'NULL', drop the empty elements in the returned list? |
the name of the current dataset can be reached with the '.nm' variable, if such argument is defined in 'fun'. Se examples.
a list
pk <- readRDS(file=system.file("examples/data/xgxr2.rds",package="NMdata"))
lapplydt(pk,by="DOSE",fun=nrow)
lapplydt(pk,by="DOSE",fun=function(x,.nm) {
message("this is subset",.nm)
message(paste("Result:",nrow(x)))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.