gpt4 book ai didi

r - 为什么 order(order(x)) 等于 R 中的 rank(x)?

转载 作者:行者123 更新时间:2023-12-04 12:19:55 26 4
gpt4 key购买 nike

在此post声明 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

我看不出如何证明这一点,甚至更好的是凭直觉。

相关:rank and order in R

最佳答案

首先看看由 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

在这种情况下,order-operation 是它自己的逆操作。由于 order 操作总是返回一个从 1 开始的序列,因此 order 的任何嵌套奇数应用程序都将给出相同的向量。

Order 返回一个索引向量,可用于对原始向量进行排序。所以最小项的位置在第一个位置,第二个最小值的位置在 next, .... ,最后一项是最大项的位置。因此,当您再次对索引向量执行该操作时,第一项现在是最小索引的索引,依此类推......以及向量的排名。

关于r - 为什么 order(order(x)) 等于 R 中的 rank(x)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38968911/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com