An immutable data frame works like an ordinary data frame, except that when you subset it, it returns a reference to the original data frame, not a a copy. This makes subsetting substantially faster and has a big impact when you are working with large datasets with many groups.

idata.frame(df)

Arguments

df

a data frame

Value

an immutable data frame

Details

This method is still a little experimental, so please let me know if you run into any problems.

Examples

system.time(dlply(baseball, "id", nrow))
#> user system elapsed #> 0.08 0.00 0.08
system.time(dlply(idata.frame(baseball), "id", nrow))
#> user system elapsed #> 0.09 0.00 0.09