gpt4 book ai didi

r - 两个向量之间的所有成对差异

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

假设我有两个向量:

X1 <- c(44350, 38920, 37530, 42280, 37320, 36910, 35720, 31220, 33400, 40710, 43830, 37390, 32340, 30770, 35800, 40250, 31490, 40460, 33730, 35850, 35320, 37500, 35380, 40910, 29040, 33950)

X2 <- c(30390, 34170, 28910, 30660, 32510, 30540, 31990, 32380, 32110, 31260, 34670, 28240, 31840, 33350, 32150, 35640, 30730, 30280, 29420, 30990, 32880, 33280, 36960, 36990)

我有兴趣计算 X1 的成员 < X2 的成员的所有成对实例。

我如何在 R 中为任意两个向量执行此操作?

现在,假设我希望将两个向量组合起来,随机化,分成两个长度为 (X1) 和长度为 (X2) 的向量,然后按上述方式计数——创建一个随机分布以与初始计数进行比较。

这将如何完成?

最佳答案

X1 中 a 和 X2 中 b 的实例计数,其中 a < b

(s <- sum(outer(X1,X2,`<`)))
# [1] 106

结合两者

X <- c(X1,X2)

多次洗牌、重新拆分和重新测试

set.seed(1)

r <- replicate(1000000, {
X <- sample(X)
X1 <- head(X,length(X1))
X2 <- tail(X,length(X2))
sum(outer(X1,X2,`<`)) })

(p <- 1 - sum(s <= r)/length(r))
# [1] 1e-05



注意:听起来您可能正在寻找类似 Mann-Whitney 检验的东西,它位于 wilcox.test 下。

> wilcox.test(X2,X1)

Wilcoxon rank sum test

data: X2 and X1
W = 106, p-value = 2.858e-05
alternative hypothesis: true location shift is not equal to 0

比较 W = 106 和上面的 s = 106

关于r - 两个向量之间的所有成对差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36292220/

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