Gabor Grothendieck
2006-Oct-18 12:05 UTC
[R] Aggregating a data frame (was: Re: new R-user needs help)
Please use an informative subject for sake of the archives. Here are several solutions: aggregate(DF[4:8], DF[2], mean) library(doBy) summaryBy(x1 + x2 + x3 + x4 + x5 ~ name, DF, FUN = mean) # if Exp, name and id columns are factors then this can be reduced to library(doBy) summaryBy(. ~ name, DF, FUN = mean) library(reshape) cast(melt(DF, id = 1:3), name ~ variable, fun = mean) On 10/18/06, antoniababe at yahoo.se <antoniababe at yahoo.se> wrote:> Dear all, > > I have a dataset > > Exp name id x1 x2 x3 x4 x5 > 1 a 1 23 24 23 22 30 > 1 b 2 25 26 27 23 24 > 1 c 3 32 19 23 25 28 > 2 a 4 28 32 24 26 27 > 2 b 5 23 24 25 26 28 > 2 c 6 23 31 30 38 23 > 3 a 7 24 25 31 27 29 > 3 b 8 28 25 26 32 28 > 3 c 9 21 31 28 23 29 > > where each name a,b and c is repeated three times. > Now I want to calculate the the averages of a,b and c > over the three experiments for each x. For example for > x1 I want to calculate the average of a like > > [a(from exp1) + a(exp2)+ a(exp3)]/3= (23+28+24)/3 > > How can I do that ? > > Thanks for your help, > Regards, > > Antonia > > ______________________________________________ > R-help at stat.math.ethz.ch 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. >