0

我正在尝试为 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 调整的真正工作原理,还是我做错了什么?

在此先感谢,
维罗尼克

4

0 回答 0