R:具有相邻数的顺序排序

时间:2014-04-11 10:44:18

标签: r sorting

我想在R中订购一个序列,其中所有数字相邻,并且联系计数相同。例如

Aorder(1,1,40,50,2,40,2)
[1] 1 1 3 4 2 3 2

与订单相反:

order(c(1,1,40,50,2,40,2))
[1] 1 2 5 7 3 6 4

2 个答案:

答案 0 :(得分:3)

这比使用factor

更有效
x <- c(1,1,40,50,2,40,2)

match(x, sort(unique(x)))
#[1] 1 1 3 4 2 3 2

答案 1 :(得分:2)

rank功能可以帮助您解决问题,但不能满足您的要求:

rank(x, ties.method="min")
# [1] 1 1 5 7 3 5 3

更简单的方法是使用factoras.numeric代替:

as.numeric(factor(x, sort(unique(x))))
# [1] 1 1 3 4 2 3 2