[R] Aggregating a data frame (was: Re: new R-user needs help)
Gabor Grothendieck
ggrothendieck at gmail.com
Wed Oct 18 14:05:43 CEST 2006
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.
>
More information about the R-help
mailing list