R中的wilcox.test和coin :: wilcox_test有什么区别?


14

R中存在这两个函数,但我不知道它们之间的区别。似乎当wilcox.test使用时correct=FALSE,和wilcox_test(在硬币包装中)使用时,它们仅返回相同的p值distribution="aymptotic"。对于其他值,它们返回不同的p值。而且wilcox.test始终为我的数据集返回W = 0,而与参数的设置无关:

x = c(1, 1, 1, 3, 3, 3, 3)y = c(4, 4, 6, 7, 7, 8, 10)

另外,当我尝试使用除R以外的其他工具(一些可在线使用,其他作为Excel附加组件)时,有时它们报告的p值不同。

那么我怎么知道哪个工具给出了“正确的” p值呢?

是否存在“正确的” p值,或者如果一些工具给出的p值<0.05,我应该感到高兴吗?(有时这些工具没有提供像R这样的众多参数化可能性。)

我在这里想念什么?

Answers:


18

在“注释”部分的?wilcox.test中找到了您的问题的关键:

关于Wilcoxon秩和和Mann-Whitney检验的定义,文献并非一致。

因此,这意味着有不止一种方法可以对两个样本之间的位置变化进行这种非参数测试。另外,给定每个定义,有不止一种获得ap值的方法。“精确”表示绝对正确,而“近似”或“渐近”都是对事实的近似。这就是为什么中都存在多个选项wilcox.test()wilcox_test(),只有其中一些完全匹配-当你有两个功能完全做同样的事情。看起来,wilcox_test()即使存在绑定值,也可以获取精确的p值,而在存在绑定值时,可以wilcox.test()回退到渐近逼近。我不知道Excel附加组件在进行统计和p值计算的组合,

您的下一个问题是为什么wilcox.test()总是一直返回0。对于您创建的数据集,当执行wilcox.test(x,y)时,测试统计量的值为0,但是当执行wilcox.test(y,x)时,检验统计量的值为49,尽管p值为相同。原因请参见维基百科页面wilcox_test()返回由返回的统计信息的Z转换wilcox.test(),这就是为什么它们具有不同的测试统计信息值的原因。

有正确的p值吗?是的,但是有时候它太难计算了,因此我们需要使用近似方法(请参阅?wilcox_test,以获取由于内存不足而导致精确计算失败的描述)。除非两组之间的真实差异很小,否则近似值和精确值之间的差异将几乎无关紧要。

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.