我正在尝试为 p 值列表获取调整后的 p 值,但该p.adjust
函数给了我意想不到的值。
CRISPR_gene_BH <- with(CRISPR_gene, data.frame(Transcript_Cluster_ID, Gene_Symbol, Fold_Change, ANOVA_p.value,
Adjusted_p.value = p.adjust(CRISPR_gene$ANOVA_p.value, method = "BH"))
> head(CRISPR_gene_BH)
Transcript_Cluster_ID Gene_Symbol Fold_Change ANOVA_p.value Adjusted_p.value
1 16845410 ETV4 14.44 8.06e-07 0.02385276
2 17055354 ETV1 4.89 9.20e-05 0.99969993
3 17065367 FAM90A20P -1.11 1.08e-04 0.99969993
4 16962380 ETV5 4.89 1.93e-04 0.99969993
5 16817824 CORO1A 1.29 2.10e-04 0.99969993
6 16912114 RNU1-23P -1.42 2.85e-04 0.99969993
在单独的数据集上完全相同的命令(具有相同数量的探针,即行),给我这个:
> tail(ZFN_hits)
Transcript_Cluster_ID Gene_Symbol Fold_Change ANOVA_p.value Adjusted_p.value
546 16890067 CREB1 -1.39 0.001823 0.09868273
547 16913095 CEP250 -1.13 0.001824 0.09868273
548 16891152 ZFAND2B -1.13 0.001828 0.09871867
549 16914791 SNAI1 1.22 0.001833 0.09880838
550 16979024 PITX2 -1.18 0.001837 0.09884396
551 16872760 ERF -1.33 0.001850 0.09936279
我曾经tail
表明,在这种情况下,与上面相比,较高的 p 值具有较低的调整 p 值,即使两个数据集长度相同。此外,如果它很重要(我一直在阅读相互矛盾的报告),p 值已经排序在CRISPR_gene
. 谁能告诉我为什么会这样?我只是没有掌握 BH 调整的真正工作原理,还是我做错了什么?
在此先感谢,
维罗尼克