On Fri, Sep 26, 2008 at 3:54 PM, Matthew Pettis <[EMAIL PROTECTED]> 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?
This is easy to do with the (very soon to be released) plyr package: library(plyr) ddply(df, .(x, y), transform, rank = rank(v)) You can learn more about it at http://had.co.nz/plyr Hadley -- http://had.co.nz/ ______________________________________________ R-help@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.