Nice, thanks Ista! On 3/20/2013 3:18 PM, Ista Zahn wrote: > How about > > library(reshape2) > mdf.m <- melt(my_df, measure.vars=c("a", "b", "c")) > mdf.m <- mdf.m[mdf.m$value > 0, ] > > ddply(mdf.m, "variable", function(x) c("mean"=mean(x$dat), "n"=nrow(x))) > > ? > > Best, > Ista > > On Wed, Mar 20, 2013 at 3:57 PM, Alexander Shenkin <ashen...@ufl.edu> wrote: >> Hi folks, >> >> I'm trying to figure out how to get summarized data based on multiple >> columns. However, instead of giving summaries for every combination of >> categorical columns, I want it for each value of each categorical column >> regardless of the other columns. I could do this with three different >> commands, but i'm wondering if there's a more elegant way that I'm >> missing. Thanks! >> >> allie >> >>> my_df = data.frame(a = c(1,1,1,0,0,0), b=c(0,0,0,1,1,1), >> c=c(1,0,1,0,1,0), dat=c(10,11,12,13,14,15)) >> >>> my_df >> a b c dat >> 1 1 0 1 10 >> 2 1 0 0 11 >> 3 1 0 1 12 >> 4 0 1 0 13 >> 5 0 1 1 14 >> 6 0 1 0 15 >> >>> # not what I want >>> ddply(my_df, .(a,b,c), function(x) c("mean"=mean(x$dat), "n"=nrow(x))) >> a b c mean n >> 1 0 1 0 14 2 >> 2 0 1 1 14 1 >> 3 1 0 0 11 1 >> 4 1 0 1 11 2 >> >> What I want: >> a b c mean n >> 1 1 * * 11 3 >> 2 * 1 * 14 3 >> 3 * * 1 12 3 >> >> where "*" refers to any value of the other columns. >> >> ______________________________________________ >> R-help@r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html >> and provide commented, minimal, self-contained, reproducible code.
______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.