我做了一个循环来创建多个箱图.问题是,我想保存所有的箱图,而不是互相覆盖.有什么建议?
这是我目前的代码:
boxplot <- list()
for (x in 1:nrow(checkresults)){
boxplots <- boxplot(PIM[,x], MYC [,x], OBX[,x], WDR[,x], EV[,x],
main=colnames(PIM)[x],
xlab="PIM, MYC, OBX, WDR, EV")
}
Run Code Online (Sandbox Code Playgroud)
您想将它们保存在某些文件中,还是保存它们以便能够在不同的窗口中查看它们?
如果是第一种情况,你可以使用png
,pdf
或任何函数调用你的内for
循环:
R> for (i in 1:5) {
R> png(file=paste("plot",i,".png",sep=""))
R> plot(rnorm(10))
R> dev.off()
R> }
Run Code Online (Sandbox Code Playgroud)
如果要在单独的窗口中显示它们,只需使用dev.new
:
R> for (i in 1:5) {
R> dev.new()
R> plot(rnorm(10));
R> }
Run Code Online (Sandbox Code Playgroud)
只是为了添加@juba的答案,如果你想将图表保存到多页pdf文件中,那么你不必使用paste
@juba建议的命令.这个
pdf("myboxplots.pdf")
for (x in seq_along(boxplots)){
boxplot(PIM[,x], MYC [,x], OBX[,x], WDR[,x],EV[,x],
main = colnames(PIM)[x],
xlab = "PIM, MYC, OBX, WDR, EV")
}
dev.off()
Run Code Online (Sandbox Code Playgroud)
创建单个多页pdf文档,其中每个页面都是一个箱形图.如果要将箱图存储在单独的pdf文档中,请使用该file=paste
命令.