R中的Wilcoxon秩和检验


14

我将同一测试的结果应用于两个独立样本:

x <- c(17, 12, 13, 16, 9, 19, 21, 12, 18, 17)
y <- c(10, 6, 15, 9, 8, 11, 8, 16, 13, 7, 5, 14)

我想计算一个Wilcoxon秩和检验。

当我手动计算统计量,我得到: T W = rank X i= 156.5TW

TW=rank(Xi)=156.5

当我让R执行a时wilcox.test(x, y, correct = F),我得到:

W = 101.5

这是为什么?统计不应仅在我执行带符号秩检验时返回吗?还是我误解了等级总和测试?W+paired = T

如何告诉R输出TW


作为测试结果的一部分,请不要通过以下方式进行:

dat <- data.frame(v = c(x, y), s = factor(rep(c("x", "y"), c(10, 12))))
dat$r <- rank(dat$v)
T.W <- sum(dat$r[dat$s == "x"])

我问了一个后续问题,关于Wilcoxon秩和检验不同计算检验统计量的方法的含义

Answers:


16

Note在上帮助wilcox.test功能清楚地解释为什么的r值比你小:

注意

关于Wilcoxon秩和和Mann-Whitney检验的定义,文献并非一致。两种最常见的定义对应于第一个样本的等级总和,其中是否减去了最小值:R减去而S-PLUS则不,给定一个大于m(m + 1)/ 2的值尺寸为m的第一个样本。(似乎威尔科克森的原始论文使用了未经调整的等级总和,但随后的表格减去了最小值。)

n1(n1+1)/2n1

至于修改结果,您可以将输出分配给wilcox.test变量,例如a,然后进行操作a$statistic-将最小值添加到其值并更改其名称。然后,当您打印时a(例如,键入a),它将以您想要的方式显示。

要查看我正在做什么,请尝试以下操作:

a <- wilcox.test(x,y,correct=FALSE)
str(a) 

因此,例如,如果您这样做:

n1 <- length(x)
a$statistic <- a$statistic + n1*(n1+1)/2
names(a$statistic) <- "T.W"
a

然后您得到:

        Wilcoxon rank sum test with continuity correction

data:  x and y 
T.W = 156.5, p-value = 0.006768
alternative hypothesis: true location shift is not equal to 0 

n1(n1+1)/2WwUW

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.