gpt4 book ai didi

r - 向量的部分排序

转载 作者:行者123 更新时间:2023-12-02 17:29:11 26 4
gpt4 key购买 nike

假设我有一个随机数向量,我可以将它们从低到高排序:

set.seed(1)
x <- runif(20)
v <- x[order(x)]

现在,假设我想订购它们,但有一定程度的噪音。

我可以像这样随机移动元素:

z <-sample(1:20,2)
replace(v, z, v[rev(z)])

但这并不一定会改变密切相关的值。我随机切换第 1 个和第 20 个值的可能性与随机切换第 5 个和第 6 个值的可能性相同。我想对切换进行一些控制,这样我就可以切换更密切相关的值。

理想情况下,我能够对向量重新排序以具有特定的 Spearman 相关性。比如说,当它们完全排序时,排序顺序的 Spearman 相关性为 1,有没有一种方法可以对相同的数字向量进行重新排序,例如: Spearman 相关性为 0.5?

最佳答案

如果您在他们的排名中添加一些噪音会怎样?这将确保值不会距离起点太远。例如

set.seed(1)
N <- 50
D <- 3 # controls how far things can move
x <- runif(N)
v <- x[vx <- order(rank(x) + runif(N, -D, D))]
z <- x[order(x)]

layout(matrix(c(1,3,2,3), nrow=2))
plot(v, main ="Ordered")
plot(z, main ="Mixed")
plot(v, z, xlab="ordered", ylab="mixed"); abline(0,1)

enter image description here

关于r - 向量的部分排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57466402/

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