Learn R Programming

NMdata (version 0.2.3)

lapplydt: Apply function of subsets of `data.frame`, return named list

Description

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).

Usage

lapplydt(data, by, fun, drop.null = FALSE)

Value

a list

Arguments

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?

Details

the name of the current dataset can be reached with the `.nm` variable, if such argument is defined in `fun`. Se examples.

Examples

Run this code
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)))
})

Run the code above in your browser using DataLab