Learn R Programming

doBy (version 4.5-15)

lapplyBy: Formula based version of lapply

Description

This function is a wrapper for calling lapply on the list resulting from first calling splitBy.

Usage

lapplyBy(formula, data = parent.frame(), FUN, keep.groupid = FALSE)

Arguments

formula
A formula describing how data should be split
data
A dataframe
FUN
A function to be applied to each element in the splitted list, see 'Examples' below.
keep.groupid
If TRUE, the grouping information is stored as a dataframe in an attribute called groupid.

Value

A list.

See Also

orderBy, summaryBy, transformBy, splitBy,

Examples

Run this code
data(dietox)

## Calculate weekwise feed efficiency = weight gain / feed intake
dietox <- orderBy(~Pig+Time, data=dietox)
v<-lapplyBy(~Pig, data=dietox, function(d) c(NA, diff(d$Weight)/diff(d$Feed)))
dietox$FE <- unlist(v)

## Technically this is the same as
dietox <- orderBy(~Pig+Time, data=dietox)
wdata <- splitBy(~Pig, data=dietox)
v <- lapply(wdata, function(d) c(NA, diff(d$Weight)/diff(d$Feed)))
dietox$FE <- unlist(v)

Run the code above in your browser using DataLab