2

rstatix在 R 3.6.3 到 RStudio 1.2.5042 中使用该库,并且在运行两个样本 Wilcoxon aka Mann-Whitney U 测试时得到不可能的 p 值 1。

我的第一直觉说这是一个浮点精度问题,实际值大约是 0.999999,但我来这里是为了在一个未公开的联邦研究机构对此进行确认之前进行确认。

这是我的代码:

wilcox_test(data,
            DV ~ Group,
            paired = F,
            exact = T, 
            alternative = "two.sided",
            conf.level = 0.95,
            detailed = T)

链接到 .csv 格式的数据

数据当然是匿名的。此链接将在 1 周后过期。

交叉发布以保持一致性:

https://stats.stackexchange.com/questions/467572/p-value-of-1-for-mann-whitney-u-artifact-of-r

4

2 回答 2

2

如此处此处所述,P 值 1 并非不可能。另请注意,在您的情况下,无法计算确切的 p 值,因为您有联系。您使用的功能不会提供此信息,但 来自 stats 包的功能会发出警告。wilcox.test() function

wilcox.test(test_data$DV ~ test_data$Group)

#>Warning message:
#>In wilcox.test.default(x = c(5, 0, 0, 3, 0, 1, 3, 4, 0, 3, 2, 1,  :
#>  cannot compute exact p-value with ties

于 2020-05-20T15:17:58.893 回答
2

一点点挖掘发现rstatix::wilcox_test()正在抑制有关关系与其实施中的准确性不兼容的警告。如果您运行普通的旧版本stats::wilcox.test()rstatix无论如何最终都会调用),则会发生这种情况:

w <- wilcox.test(DV~Group,data=dat)

警告消息:在 wilcox.test.default(x = c(5L, 0L, 0L, 3L, 0L, 1L, 3L, 4L, 0L, : 无法计算带关系的精确 p 值

您可以在此处看到rstatix正在抑制此警告。

只是为了仔细检查,我研究了以下内容wilcox.test:近似检验的 Z 统计量公式是

STATISTIC-n.x*n.y/2-CORRECTION

(参见维基百科:虽然没有提到连续性校正)。

在这种情况下,W 统计量是 209.5,n.x*n.y/2是 209,连续性校正是 0.5 - 所以你得到的 Z 统计量正好为零,所以它pnorm(z)是 0.5,双尾检验统计量正好是1。

如果您想准确处理关系:

coin::wilcox_test(DV~factor(Group), data=dat, distribution="exact")
##  Exact Wilcoxon-Mann-Whitney Test
## data:  DV by factor(Group) (Control, Treatment)
## Z = 0.013327, p-value = 0.9954
## alternative hypothesis: true mu is not equal to 0
于 2020-05-20T20:42:45.540 回答