[R] Basic help needed: group bunch of lines in a list (matrix)
Sundar Dorai-Raj
sundar.dorai-raj at pdf.com
Tue Sep 12 23:03:01 CEST 2006
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 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.
Try aggregate:
aggregate(x[1], x[2:3], mean)
where `x' is your data.frame.
--sundar
More information about the R-help
mailing list