无法打开pdf plot r

时间:2017-03-09 18:40:00

标签: r pdf

出于某种原因,在这个循环中,它产生的PDF最终会损坏。但是,当我逐个绘制它时,它会被保存,我可以打开它们。请指教,发疯!

for (l in 1:length(which_genes)) {
        gene_name <- which_genes[[l]]
        cases_values <- cases[cases$HGNC == genes[gene_name],]
        controls_values <- controls[controls$HGNC == genes[gene_name],]
        t <- t.test(cases_values[c(2:ncol(cases_values))], controls_values[c(2:ncol(controls_values))])
        case <- cbind(t(cases_values[c(2:ncol(cases_values))]), "cases")
        cont <- cbind(t(controls_values[c(2:ncol(controls_values))]), "controls")
        dat <- as.data.frame(rbind(case, cont))
        names(dat) <- c("expression", "type")
        dat$expression <- as.numeric(dat$expression)
        #plot significant genes
        pdf(file = paste(genes[gene_name], "_different.pdf", sep=""))
        ggplot(dat, aes(type, expression, fill=type)) + 
        geom_boxplot() +
        ggtitle(paste(genes[gene_name], "pvalue", t$p.value)) + 
        xlab("cases vs controls")
        dev.off()
}

1 个答案:

答案 0 :(得分:1)

失败的另一个例子 - print错误(如R-FAQ中所述)。在循环中使用它:

pdf(file = paste(genes[gene_name], "_different.pdf", sep=""))
    print( ggplot(dat, aes(type, expression, fill=type)) + 
    geom_boxplot() +
    ggtitle(paste(genes[gene_name], "pvalue", t$p.value)) + 
    xlab("cases vs controls")
          )
dev.off()

如果目标是进行多页输出,那么您应该在循环外打开PDF设备,print - 在循环中编辑,然后在外面关闭设备。