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 beause a list is returned (like lapply), the dt is because the input is a data.table.
lapplydt(data, by, fun, drop.null = FALSE)
the name of the current dataset can be reached with the `.nm` variable. like
pk <- readRDS(file=system.file("examples/data/xgxr2.rds",package="NMdata"))
lapplydt(pk,by="DOSE",fun=function(x) {
message("this is subset",.nm)
nrow(x)
})
#> this is subset3
#> this is subset10
#> this is subset30
#> this is subset100
#> this is subset300
#> $`3`
#> [1] 300
#>
#> $`10`
#> [1] 300
#>
#> $`30`
#> [1] 301
#>
#> $`100`
#> [1] 301
#>
#> $`300`
#> [1] 300
#>