我有以下代码可以生成多个图,每个图都在一个单独的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。
答案 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)