我有以下代码可以生成多个图,每个图都在一个单独的 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。
最佳答案
由于没有虚拟数据而未经测试,但应该可以工作。
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)
关于r - 如何在生成多个绘图代码时向文件添加标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10251166/