[R] group bunch of lines in a data.frame, an additional requirement
Emmanuel Levy
emmanuel.levy at gmail.com
Wed Sep 13 18:38:17 CEST 2006
Thanks for pointing me out "aggregate", that works fine!
There is one complication though: I have mixed types (numerical and character),
So the matrix is of the form:
A 1.0 200 ID1
A 3.0 800 ID1
A 2.0 200 ID1
B 0.5 20 ID2
B 0.9 50 ID2
C 5.0 70 ID1
One letter always has the same ID but one ID can be shared by many
letters (like ID1)
I just want to keep track of the ID, and get a matrix like:
A 2.0 400 ID1
B 0.7 35 ID2
C 5.0 70 ID1
Any idea on how to do that without a loop?
Many thanks,
Emmanuel
On 9/12/06, Emmanuel Levy <emmanuel.levy at gmail.com> wrote:
> 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
>
More information about the R-help
mailing list