In this post http://www.portfolioprobe.com/2012/07/26/r-inferno-ism-order-is-not-rank/据称order(order(x))
是相同的rank(X)
.
虽然一些实验证实了这一点...
#why is order(order(x)) == rank(x)?
x <- c(0.2, 0.5, 0.1)
x
## [1] 0.2 0.5 0.1
order(x)
## [1] 3 1 2
rank(x)
## [1] 2 3 1
order(order(x))
## [1] 2 3 1
我不明白如何证明这一点,甚至更好地凭直觉证明这一点。
有关的:R中的等级和顺序 https://stackoverflow.com/q/12289224
首先看看由 1:10 的排列形成的整数序列会发生什么:
> set.seed(123); x <- sample(10)
> x
[1] 3 8 4 7 6 1 10 9 2 5
> order(x)
[1] 6 9 1 3 10 5 4 2 8 7
> order(order(x))
[1] 3 8 4 7 6 1 10 9 2 5
> rank(x)
[1] 3 8 4 7 6 1 10 9 2 5
The order
- 在这种情况下,操作是其自身的逆操作。并且自从order
-操作总是返回一个从 1 开始的序列,然后是任何嵌套的奇数应用order
将给出相同的向量。
Order 返回一个索引向量,可用于对原始向量进行排序。所以最小的项的位置在第一个位置,第二小的值的位置是下一个,...,最后一个项是最大的项的位置。因此,当您再次对索引向量执行该操作时,第一项现在是最小索引的索引,依此类推......以及向量的排名。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)