[R] Newbie: Ranking a data frame, grouped by 2 or more columns

Matthew Pettis matthew.pettis at gmail.com
Sat Sep 27 04:48:54 CEST 2008


Thanks!  I think 'ave' was what I was looking for...

On Fri, Sep 26, 2008 at 6:28 PM, jim holtman <jholtman at gmail.com> wrote:
> Try this:
>
>> x
>  V1 V2  V3
> 1  a  w 200
> 2  a  w 100
> 3  b  w 500
> 4  b  w 200
> 5  b  z 300
> 6  b  z 400
>> x$rank <- ave(x$V3, x$V1, x$V2, FUN=rank)
>> x
>  V1 V2  V3 rank
> 1  a  w 200    2
> 2  a  w 100    1
> 3  b  w 500    2
> 4  b  w 200    1
> 5  b  z 300    1
> 6  b  z 400    2
>>
>
>
> On Fri, Sep 26, 2008 at 4:54 PM, Matthew Pettis
> <matthew.pettis at gmail.com> wrote:
>> Hi,
>>
>> I'd like to rank obs in a data frame as subset by 2 or more columns...
>> The example input would look like the following:
>>
>> ====+====+====+====+
>> x   y   v
>> --  --  --
>> a   w   200
>> a   w   100
>> b   w   500
>> b   w   200
>> b   z   300
>> b   z   400
>> ====+====+====+====+
>>
>> And the data frame I want to create is below:
>> ====+====+====+====+
>> x   y   v   rank
>> --  --  --  ----
>> a   w   200    1
>> a   w   100    2
>> b   w   500    1
>> b   w   200    2
>> b   z   300    2
>> b   z   400    1
>> ====+====+====+====+
>>
>> Can someone help me with this?
>>
>> Thanks,
>> Matt
>> --
>> It is from the wellspring of our despair and the places that we are
>> broken that we come to repair the world.
>> -- Murray Waas
>>
>> ______________________________________________
>> 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.
>>
>
>
>
> --
> Jim Holtman
> Cincinnati, OH
> +1 513 646 9390
>
> What is the problem that you are trying to solve?
>



-- 
It is from the wellspring of our despair and the places that we are
broken that we come to repair the world.
-- Murray Waas



More information about the R-help mailing list