如何在生成多个图表代码时向文件添加标签

时间:2012-04-20 17:58:08

标签: r

我有以下代码可以生成多个图,每个图都在一个单独的pdf文件中

myplot <-function(ind,dfList) {
 dat <- dfList[[ind]]
  detects <- as.numeric(dat$Result2[dat$cens== 0])
  pdf(file=paste("Desktop/qqplot_",ind,".pdf",sep = ""))
  qqnorm(log(detects), ylab="Ln of uncensored data in ppm", main="Q-Q plot", pch=16) 
  qqline(log(detects))
             dev.off()
           }

Plots <- lapply(1:3, myplot , dfList = mydata)

问题1:此代码生成3个pdf文件。文件的标签是1,2和3.如何插入一个代码,将每个文件重新标记为绘图X,绘制Y,绘制Z.

问题2:在我的myplot函数中,图的标题是Q-Q图,但我想更改标题对应的文件名。所以每个情节标题应该是情节X,情节Y,情节Z。

1 个答案:

答案 0 :(得分:4)

由于没有虚拟数据而未经测试,但应该可以正常工作。

myplot <- function(ind,dfList) {
    # Add a vector of labels
    # then use index at will to build plot and title strings etc
    labels <- c("X", "Y", "Z")
    myfilename <- paste("Desktop/qqplot_",labels[ind],".pdf",sep = "")
    mytitle <- paste("Plot ",labels[ind],sep = "")

    dat <- dfList[[ind]]
    detects <- as.numeric(dat$Result2[dat$cens== 0])
    pdf(file=myfilename)
        qqnorm(log(detects), ylab="Ln of uncensored data in ppm", main=mytitle, pch=16) 
        qqline(log(detects))
    dev.off()
}

Plots <- lapply(1:3, myplot , dfList = mydata)