[R] I don't know the difference between rank and order
Duncan Murdoch
murdoch.duncan at gmail.com
Wed Nov 21 13:34:34 CET 2012
On 12-11-21 4:59 AM, Patrick Burns wrote:
> Obviously something that is possible
> to get wrong even when you know it:
>
> http://www.portfolioprobe.com/2012/07/26/r-inferno-ism-order-is-not-rank/
They're not just "different", they are inverses of each other:
> x <- rnorm(10)
> rank(x)
[1] 8 1 4 2 6 10 7 9 3 5
> order(x)
[1] 2 4 9 3 10 5 7 1 8 6
> order(x)[rank(x)]
[1] 1 2 3 4 5 6 7 8 9 10
> rank(x)[order(x)]
[1] 1 2 3 4 5 6 7 8 9 10
Duncan Murdoch
>
> Pat
>
> On 21/11/2012 08:13, (Ted Harding) wrote:
>> On 21-Nov-2012 02:57:19 li1127217ye wrote:
>>> I don't know the difference between rank and order.For example:
>>>> x=c(10,30,30,20,10,20)
>>>> x[rank(x,ties.method="first")]
>>> [1] 10 10 20 30 30 20
>>>> x[order(x)]
>>> [1] 10 10 20 20 30 30
>>>
>>> the result is quite different,
>>> x[rank(x,ties.method="first")]
>>> [1] 10 10 20 30 30 20
>>> It is not sorted,why?
>>
>> It is because rank() gives, for each element of x, the position
>> of that value within the sorted series of all the values in x.
>> This will not, in general, be the same as the index, within x,
>> of the value that should be in that position.
>>
>> Example:
>>
>> x1=c(6,5,4,2,3,1)
>>
>> x1[rank(x1,ties.method="first")]
>> # [1] 1 3 2 5 4 6
>>
>> rank(x1,ties.method="first")
>> # [1] 6 5 4 2 3 1
>>
>> So "2" indeed has rank 2, and "3" has rank 3; but what will be
>> returned by x1[rank(x)] will depend on what is in x[2] and x[3]
>> (in this case "5" and "4" respectively).
>>
>> Ted.
>>
>> -------------------------------------------------
>> E-Mail: (Ted Harding) <Ted.Harding at wlandres.net>
>> Date: 21-Nov-2012 Time: 08:13:23
>> This message was sent by XFMail
>>
>> ______________________________________________
>> 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.
>>
>
More information about the R-help
mailing list