我正在使用fgsea
库来分析实验室的一些数据,现在我正在使用plotGseaTable
函数来绘制gsea表。基本功能可以正常工作:
library(fgsea)
data(examplePathways)
data(exampleRanks)
fgseaRes <- fgsea(examplePathways, exampleRanks, nperm=1000, minSize=15, maxSize=100)
topPathways <- fgseaRes[head(order(pval), n=15)][order(NES), pathway]
pdf(paste0(outdir, "testgseatable.pdf"))
plotGseaTable(examplePathways[topPathways], exampleRanks, fgseaRes, gseaParam=0.5)
dev.off()
但是,一旦我尝试查看多个排名并将其绘制出来,它将在所有页面上打印所有图表:
myranks_1 = rnorm(length(exampleRanks), 50, 7)
names(myranks_1) = names(exampleRanks)
myres_1 = fgsea(examplePathways, myranks_1, nperm=1000, minSize=15, maxSize=100)
mytop_1 = myres_1[head(order(pval), n=15)][order(NES), pathway]
myranks_2 = rnorm(length(exampleRanks), 50, 7)
names(myranks_2) = names(exampleRanks)
myres_2 = fgsea(examplePathways, myranks_2, nperm=1000, minSize=15, maxSize=100)
mytop_2 = myres_2[head(order(pval), n=15)][order(NES), pathway]
myranks_3 = rnorm(length(exampleRanks), 50, 7)
names(myranks_3) = names(exampleRanks)
myres_3 = fgsea(examplePathways, myranks_3, nperm=1000, minSize=15, maxSize=100)
mytop_3 = myres_3[head(order(pval), n=15)][order(NES), pathway]
myranks_4 = rnorm(length(exampleRanks), 50, 7)
names(myranks_4) = names(exampleRanks)
myres_4 = fgsea(examplePathways, myranks_4, nperm=1000, minSize=15, maxSize=100)
mytop_4 = myres_4[head(order(pval), n=15)][order(NES), pathway]
myranks_5 = rnorm(length(exampleRanks), 50, 7)
names(myranks_5) = names(exampleRanks)
myres_5 = fgsea(examplePathways, myranks_5, nperm=1000, minSize=15, maxSize=100)
mytop_5 = myres_5[head(order(pval), n=15)][order(NES), pathway]
pdf(paste0(outdir, "testgseatable_multiple.pdf"))
plotGseaTable(examplePathways[mytop_1], myranks_1, myres_1, gseaParam=0.5)
plotGseaTable(examplePathways[mytop_2], myranks_2, myres_2, gseaParam=0.5)
plotGseaTable(examplePathways[mytop_3], myranks_3, myres_3, gseaParam=0.5)
plotGseaTable(examplePathways[mytop_4], myranks_4, myres_4, gseaParam=0.5)
plotGseaTable(examplePathways[mytop_5], myranks_5, myres_5, gseaParam=0.5)
dev.off()
该功能有问题吗?有什么方法可以告诉pdf()
函数开始新页面吗?