我正在使用
Rank()
为数据帧分配排名值,但是我需要排名为 1 = 最高,而不是 1 = 最低。
如果你想获得
x
从最大到最小的排名,请执行
rank(-x)
或者你可以使用:
> x = c(1,2,3,4,5)
> rank(desc(x))
[1] 5 4 3 2 1
此外,
order()
可以与负号一起使用:
> x = 1:10
> order(-x)
[1] 10 9 8 7 6 5 4 3 2 1
虽然
rank(-x)
肯定适用于数字和逻辑向量,但它不适用于字符向量,因为它们不能被否定。相反,一个适用于所有类型向量的解决方案:
rank(-rank(x))
以下可以做到这一点:
order(x, decreasing=TRUE)
x = c(1,2,3,4,5,6)
x[order(-x)]
你将会得到
6,5,4,3,2,1
ascending_order=arrange[order(arrange)]
Rank_values=rank(ascending_order)