Check out summaryBy in the doBy package:
> library(doBy)
> summaryBy(. ~ fac1, data = df, FUN = c(sum, mean, sd))[c(1,2,5,7)]
fac1 par1.sum par2.mean par2.sd
1 group1 12.37374 25.5 14.57738
2 group2 37.62626 75.5 14.57738
> summaryBy(. ~ fac2, data = df, FUN = c(sum, mean, sd))[c(1,
analysis <-
lapply(c("fac1", "fac2"), function(x){
cbind.data.frame(par1.sum= do.call("rbind",lapply(lapply(split(df,
eval(parse(text=x))), "[[", 1), sum)),
par2.mean=do.call("rbind",lapply(lapply(split(df, eval(parse(text=x))),
"[[", 2), mean)),
par2.sd= do.call("rbind",lapply(lapply(split(df,
Hi,
No is the more elegant way
analysis <-
lapply(c("fac1", "fac2"), function(x){
cbind.data.frame(par1.sum= do.call("rbind",lapply(lapply(split(df,
eval(parse(text=x))), "[[", 1), sum)),
par2.mean=do.call("rbind",lapply(lapply(split(df, eval(parse(text=x))),
"[[", 2), mean)),
par2.sd= do.ca
3 matches
Mail list logo