我使用R创建了三个具有相同X变量,但结果不同(Y1,Y2,Y3)的散点图,使用:
png(filename="Y1.png")
plot(X,Y1)
dev.off()
png(filename="Y2.png")
plot(X,Y2)
dev.off()
png(filename="Y3.png")
plot(X,Y3)
dev.off()
现在我的合著者想要再绘制15个图(Y1,Y2,Y3,Y4,Y5,... Y18),我想知道是否有一个循环可以用来完成我想做的任务。
如果所有“ y”变量严格都是大写的“ Y”和数字,则
yvars <- ls(pattern="^Y\\d+")
for (yv in yvars) {
png(filename = paste0(yv, ".png"))
plot(X, get(yv))
dev.off()
}
如果它们是框架中的变量,则
yvars <- grep("^Y\\d+", colnames(dat), value = TRUE)
for (yv in yvars) {
png(filename = paste0(yv, ".png")
plot(X, dat[[yv]])
dev.off()
}