我想知道为什么在python和R.在python中做mann whitney u测试时,我的答案如此不同:
from scipy.stats import mannwhitneyu
t = [1,2,3]
g = [4,5,6,7,8,9]
mannwhitneyu(t,g)
(0.0, 0.014092901073953692)在R:
t = c(1,2,3)
g = c(4,5,6,7,8,9)
wilcox.test(t,g, paired = FALSE)
Wilcoxon rank sum test
data: t and g
W = 0, p-value = 0.02381
alternative hypothesis: true location shift is not equal to 0我想知道为什么python看起来更像是一个片面的测试。
发布于 2014-08-18 20:17:22
The版本被记录为返回一个单边p值。(目前文档站点已关闭,因此我无法提供链接,但如果您查看mannwhitneyu函数的帮助,您可以看到它。)R函数是记录在案,允许您指定侧边,默认为双面。
发布于 2020-08-27 00:55:06
不适用于小于20的样品尺寸的MW试验。请参阅其文件中的说明。因此,您的python结果并不准确。
从下面的链接
https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.mannwhitneyu.html
“备注
只在每个样本中的观察数> 20,并且有2个独立的等级样本时使用。如果得到的U小于或等于U的临界值,则Mann是显着的。
此测试对领带进行校正,默认情况下使用连续性校正。“
https://stackoverflow.com/questions/25371196
复制相似问题