Emmanuel Levy said the following on 9/12/2006 3:50 PM: > Hello, > > I'd like to group the lines of a matrix so that: > A 1.0 200 > A 3.0 800 > A 2.0 200 > B 0.5 20 > B 0.9 50 > C 5.0 70 > > Would give: > A 2.0 400 > B 0.7 35 > C 5.0 70 > > So all lines corresponding to a letter (level), become a single line > where all the values of each column are averaged. > > I've done that with a loop but it doesn't sound right (it is very > slow). I imagine there is a > sort of "apply" shortcut but I can't figure it out. > > Please note that it is not exactly a matrix I'm using, the function > "typeof" tells me it's a list, however I access to it like it was a > matrix. > > Could someone help me with the right function to use, a help topic or > a piece of code? > > Thanks, > > Emmanuel > > ______________________________________________ > R-help@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.
Try aggregate: aggregate(x[1], x[2:3], mean) where `x' is your data.frame. --sundar ______________________________________________ R-help@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.