[R] Function rank() for data frames (or multiple vectors)?
David Winsemius
dwinsemius at comcast.net
Thu Aug 25 17:17:39 CEST 2011
On Aug 25, 2011, at 7:56 AM, Sebastian Bauer wrote:
> Hi!
>
> On 08/24/2011 07:46 PM, David Winsemius wrote:
>>> I was looking for an elegant solution ;) In the real case I have
>>> double
>>> values and this would be quite inefficient then.
>>
>> Still no r-code:
>>
>> Then what about rank(order(...) , further-ties.method-argument) ?
>
> I think that, as order() always gives a different value for each
> element, rank(order()) would return the same result as order() alone.
Quite right. I didn't test it since there was no example provided. Do
you not understand what is meant by a reproducible example.
Pretty much every solution I come up with leaves me (re-) asking the
question: What's wrong with rank(paste(...))?
Here's another possibility:
> rr <- data.frame(a = c(1,1,1,1,2), b=c(1,2,2,3,1))
> ave(order(rr$a, rr$b), rr$a, rr$b )
[1] 1.0 2.5 2.5 4.0 5.0
>
> Bye,
> Sebastian
David Winsemius, MD
West Hartford, CT
More information about the R-help
mailing list