我有以下 p 值:
original_pval <- c(0.8125681, 0.3411442, 0.317672, 0.3464842, 0.2220076, 0.2576271,
0.1929609, 0.275641, 0.3180882, 0.1962801, 0.219256, 0.1734164)
当我p.adjust
在 R 中运行时,除了一个之外,我得到所有数字的相等 p 值:
p.adjust(p = original_pval, "BH")
结果如下:
结果:
0.8125681 0.3779828 0.3779828 0.3779828 0.3779828 0.3779828 0.3779828 0.3779828 0.3779828 0.3779828 0.3779828 0.3779828
如您所见,所有 p 值都相等,除了第一个。为什么会发生这种情况,这是否正常?
如果我尝试手动操作,我会得到不同的结果!(而且我相信我在手动操作时做错了)
original_pval <- sort(original_pval)
corrected <- 0.5 * (1:length(original_pval))/length(original_pval)
0.04166667 0.08333333 0.12500000 0.16666667 0.20833333 0.25000000 0.29166667 0.33333333 0.37500000 0.41666667 0.4580000333 0.50
或者我在手动计算 BH 时可能混淆了一些东西。这是我得到公式的地方。
但我的主要问题是使用 Benjamini-Hochberg 后看到许多相等的 p 值是否正常?