[R] operation on a data.frame

From: Federico Abascal <fabascal_at_cnb.csic.es>
Date: Mon, 26 May 2008 12:05:44 +0200


Estimated colleagues:

Here is a problem I am trying to solve: I have a data frame of this kind

df <- data.frame(c("A","B","C","A","A","B"), matrix(1:18,nrow=6,ncol=3)) rownames(df) <- c("One","Two","Three","Four","Five","Six") colnames(df) <- c("C1","C2","C3","C4")
df

      C1 C2 C3 C4
One A 1 7 13
Two B 2 8 14
Three C 3 9 15
Four A 4 10 16
Five A 5 11 17
Six B 6 12 18

I would like to obtain a data.frame or matrix in which rows with an equal string on column "C1" are averaged. In the previous example, rows "One", "Four" and "Five" should be averaged because the three have "A" con C1. The resulting row should be: "A" 10/3 28/3 46/3

In SQL I think I could do this by selecting c1,c2,c3 and c4, grouping by c1 and averaging c2, c3,and c4.

Is there some way to do this easily in R?

Thank you very much,
Federico



R-help_at_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. Received on Mon 26 May 2008 - 10:14:08 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Mon 26 May 2008 - 11:30:44 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive