I\'m trying to get multiple summary statistics in R/S-PLUS grouped by categorical column in one shot. I found couple of functions, but all of them do one statistic per call,
after 5 long years I'm sure not much attention is going to be received for this answer, But still to make all options complete, here is the one with data.table
library(data.table)
setDT(df)[ , list(mean_gr = mean(dt), sum_gr = sum(dt)) , by = .(group)]
# group mean_gr sum_gr
#1: A 61 244
#2: B 66 396
#3: C 68 408
#4: D 61 488
Besides describeBy
, the doBy
package is an another option. It provides much of the functionality of SAS PROC SUMMARY. Details:
http://www.statmethods.net/stats/descriptives.html
take a look at the plyr
package. Specifically, ddply
ddply(df, .(group), summarise, mean=mean(dt), sum=sum(dt))
Using Hadley Wickham's purrr package this is quite simple. Use split
to split the passed data_frame
into groups, then use map
to apply the summary
function to each group.
library(purrr)
df %>% split(.$group) %>% map(summary)