如何获取排序数组元素的索引

时间:2014-11-25 07:41:23

标签: r

说我在R中有一个数组:10 7 4 3 8 2 排序后,这将是:2 3 4 7 8 10

R中从原始数组返回已排序数组元素的索引的最佳方法是什么。我正在寻找一个输出: 6(指数2),4(指数3),3(指数4),2(指数7),5(指数8),1(指数10)

2 个答案:

答案 0 :(得分:25)

您正在寻找的功能是order

> x
[1] 10  7  4  3  8  2
> order(x)
[1] 6 4 3 2 5 1

答案 1 :(得分:12)

sortindex.return个参数,默认情况下为FALSE

x <- c(10,7,4,3,8,2)
sort(x, index.return=TRUE) #returns a list with `sorted values` 
#and `$ix` as index.
#$x
#[1]  2  3  4  7  8 10

#$ix
#[1] 6 4 3 2 5 1

您可以通过

提取index
sort(x, index.return=TRUE)$ix
#[1] 6 4 3 2 5 1