Mann-Whitney-U测试

时间:2014-06-12 14:37:19

标签: r apply p-value

我有一个带有数千个样本的csv,应该比较不同处理后的基因表达:

ID    U1         U2        U3        H1        H2        H3
1     5.95918   6.07211   6.01437   5.89113   5.89776   5.95443
2     6.56789   5.98897   6.67844   5.78987   6.01789   6.12789
..

当我使用它时,我被要求做一个Mann Whitney u测试,R给我结果:

results <- apply(data,1,function(x){wilcox.test(x[1:3],x[4:6])$pvalue})

然而,我只是得到0.1或0.5的值..

当我添加&#34;替代=&#34;更大&#34;&#34;我得到的值为0.35000或0.05000,并且一些样本得到了像0.14314这样的pvalues(这是一个我没关系的值)。 所以我想知道为什么R给我这么奇怪的pvalues(0.35000,...)以及我如何解决它以获得#34;正常&#34; p-值

1 个答案:

答案 0 :(得分:4)

您正在进行非参数测试,其中测试统计信息来自排名。样本大小为3时,测试统计信息只有几个可能的不同值。

示例:

set.seed(42)
x <- matrix(rnorm(3000), ncol=6)
ps <- apply(x, 1, function(a) wilcox.test(a[1:3], a[4:6])$p.value)
table(ps)
#ps
#0.1 0.2 0.4 0.7   1 
# 54  45 108 141 152