On 16/04/2013 1:51 PM, Julio Sergio wrote:
I thought I've understood the 'order' function, using simple examples like:

    order(c(5,4,-2))
    [1] 3 2 1

However, I arrived to the following example:

    order(c(2465, 2255, 2085, 1545, 1335, 1210, 920, 210, 210, 505, 1045))
    [1]  8  9 10  7 11  6  5  4  3  2  1

and I was completely perplexed!
Shouldn't the output vector be  11 10 9 8 7 6 4 1 2 3 5 ?
Do I have a damaged version of R?

You are probably confusing order() and rank().  What we want is that

x[order(x)]

is in increasing order. This is the inverse permutation of what rank(x) gives, so (if there are no ties) rank(x)[order(x)] and
order(x)[rank(x)] should both give 1:length(x).

Duncan



I became still more astonished when I used the sort function and got the
right answer:

    sort(c(2465, 2255, 2085, 1545, 1335, 1210,  920,  210,  210,  505, 1045))
    [1]  210  210  505  920 1045 1210 1335 1545 2085 2255 2465
since 'sort' documentation claims to be using 'order' to establish the right
order.

Please help me to understand all this!

   Thanks,

   -Sergio.

______________________________________________
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.

______________________________________________
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.

Reply via email to