[R] Calculate Mean for each Treatment/Trial Interaction in DF
David Winsemius
dwinsemius at comcast.net
Fri Nov 6 04:03:19 CET 2009
On Nov 5, 2009, at 7:53 PM, jimdare wrote:
>
> I am create a new DF that summarizes the mean angle per treatment/
> trial, of
> the original DF (see below). I have had some success using:
> (tapply(df$Angle, INDEX=interaction(df$State,
> df$Trial), FUN=mean));
That's rather difficult to accept, since State is not a column name of
df.
> however, this gives the answer as a list, which
> means I would have to split the name to get the categories back. Does
> anyone know a simple way to transform the Original DF into Summary DF?
>
> Thanks in advance,
>
> James
>
>
> Original DF
>
>> df
> Angle Trial Treatment
> 1 43.1297 1 C
> 2 62.3613 1 C
> 3 88.2767 2 C
> 4 75.2431 2 C
> 5 91.3668 3 C
> 6 61.2800 3 C
> 7 55.5575 1 U
> 8 69.4661 1 U
> 9 67.5512 2 U
> 10 95.5528 2 U
> 11 75.8689 3 U
> 12 66.9070 3 U
>
> Summary DF
>
>> sdf
>
> Angle Trial Treatment
> 1 52.7455 1 C
> 2 ... 2 C
> snip
>
Try:
aggregate(df$Angle, list(df$Treatment,
df$Trial), sum)
Group.1 Group.2 x
1 C 1 105.4910
2 U 1 125.0236
3 C 2 163.5198
4 U 2 163.1040
5 C 3 152.6468
6 U 3 142.7759
> --
David Winsemius, MD
Heritage Laboratories
West Hartford, CT
More information about the R-help
mailing list