GO,KEGG富集保存的PDF格式文件打不开,R软件if循环下p

2023-04-18  本文已影响0人  阿酒88

先上代码:

kegg <- enrichKEGG(diff$ENTREZID, organism = 'hsa', keyType = 'kegg', pvalueCutoff =0.05,pAdjustMethod = 'none', minGSSize = 10,maxGSSize = 500,qvalueCutoff = 1,use_internal_data = T,universe=df$ENTREZID)

KEGG富集分析代码:

if(nrow(as.data.frame(kegg))>0){ #如果有符合的通路,则画图

  name7 <- paste("KEGG_Enrich_BarPlot_Significant_Top10.pdf",sep = "",collapse = "")

  pdf(file=name7,width=8,height=10)

  barplot(kegg,showCategory=10,drop=T,color = "pvalue")

  dev.off()

}

首先排除是不是kegg 里没有通路,不是这个原因

> nrow(as.data.frame(kegg))

[1] 5

排除是不是if循环有问题,直接运行if循环下的代码,发现pdf可以正常生成并能够打开。

所以问题出在if循环上。网上并没有搜到相关的解决办法。最终尝试N次后发现可以这样解决。

if(nrow(as.data.frame(kegg))>0){

  name6 <- paste("KEGG_Enrich_DotPlot_Significant_Top10.pdf",sep = "",collapse = "")

  pdf(file=name6)

  p<-dotplot(kegg,showCategory=10,color = "pvalue")

  print(p)

  dev.off()

}

上一篇下一篇

猜你喜欢

热点阅读