Newbie: Ranking a data frame, grouped by 2 or more columns
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