Apply a Function to a Data Frame Split by Factors

By(x, INDICES, FUN, COLUMNS, array = FALSE, ...)

Arguments

x

Data frame

INDICES

Indices (vector or list of indices, vector of column names, or formula of column names)

FUN

A function to be applied to data frame subsets of 'data'.

COLUMNS

(Optional) subset of columns of x to work on

array

if TRUE an array/matrix is always returned

...

Additional arguments to lower-level functions

Details

Simple wrapper of the 'by' function

Author

Klaus K. Holst

Examples

By(datasets::CO2,~Treatment+Type,colMeans,~conc)
#> Type #> Treatment Quebec Mississippi #> nonchilled 435 435 #> chilled 435 435
By(datasets::CO2,~Treatment+Type,colMeans,~conc+uptake)
#> Treatment: nonchilled #> Type: Quebec #> conc uptake #> 435.00000 35.33333 #> ------------------------------------------------------------ #> Treatment: chilled #> Type: Quebec #> conc uptake #> 435.00000 31.75238 #> ------------------------------------------------------------ #> Treatment: nonchilled #> Type: Mississippi #> conc uptake #> 435.00000 25.95238 #> ------------------------------------------------------------ #> Treatment: chilled #> Type: Mississippi #> conc uptake #> 435.00000 15.81429