Parece haver muita confusão com as funções de classificação e ordem; Eles não são iguais, mas inversos um do outro.
Para um vetor x, a ordem (x) é uma permutação tal que x [ordem (x)] é ordenada, enquanto a classificação (x) simplesmente mostra as classificações das entradas de x.
Como resultado, é sempre verdade que
rank(x)[ order(x) ] = order(x)[ rank(x) ] = 1:length(x)
Por exemplo, se
x = c(8,9,7)
d = order(x) # 3 1 2
r = rank(x) # 2 3 1
# r[ d [ k ]] = d[ r[k ]] = k for k = 1,2,3.