我有一个p值矩阵(Fisher),我使用multtest计算调整后的p值,如下所示:
> class(Fisher)
[1] "matrix"
AdjPvalues = mt.rawp2adjp(Fisher, proc=c("Bonferroni"))
> class(AdjPvalues)
[1] "list"
输出是一个列表,但我不确定如何访问(理解)它。我想提取调整后的p值<1的基因对。 0.05。但是,我怎么能用基因对及其p值重建一个矩阵呢?
以下是有关AdjPvalues的一些信息:
> head(AdjPvalues$adjp)
rawp Bonferroni
[1,] 0 0
[2,] 0 0
[3,] 0 0
[4,] 0 0
[5,] 0 0
[6,] 0 0
> head(AdjPvalues$index)
[1] 1 2688 5375 8062 10749 13436
> head(AdjPvalues$h0.ABH)
NULL
> head(AdjPvalues$h0.TSBH)
NULL
基因Fisher包含基因对的名称,我想从AdjPvalues输出基因对和调整后的p值
Fisher的几句话:
row.names scigt000002 scigt000019 scigt000020
1 scigt000002 0.000000e+00 2.195239e-01 8.305768e-01
2 scigt000019 2.195239e-01 0.000000e+00 1.059412e-0
3 scigt000020 8.305768e-01 1.059412e-02 0.000000e+00
更新,这是一个很好的解决方案:
gene <- colnames(Fisher)
gene.pair <- paste(gene[row(Fisher)], gene[col(Fisher)], sep=".")
i <- lower.tri(Fisher)
Dat <- data.frame(gene.pair[i], p.value=Fisher[i])
Dat$Holm <- p.adjust(Dat$p.value, method="holm")
Dat