R:如何在p值矩阵上屏蔽multtest(mt.rawp2adjp)的输出

时间:2014-11-24 18:04:51

标签: r list matrix

我有一个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

0 个答案:

没有答案