1

我有一个包含数千个样本的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 之类的值。

当我添加时,alternative ="greater"我得到了 0.35000 或 0.05000 之类的值,一些样本得到了 0.14314 之类的 pvalue(这是我可以接受的值)。所以我想知道为什么 R 给了我这么奇怪的 pvalues (0.35000,..) 以及如何修复它以获得“正常”pvalues。

4

1 回答 1

5

您正在做一个非参数测试,其中测试统计数据来自排名。样本大小为 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
于 2014-06-12T14:51:44.673 回答