我有一个使用dlply使用以下数据创建的ggplots列表:
d <- data.frame(
id1 = rep(letters[1:4],16),
id2 = c(rep("one",16), rep("two",16), rep("three",16), rep("four",16)),
x = rnorm(64, mean=12, sd=6),
y = rnorm(64, mean=4.5, sd=2))
require(dplyr)
require(plyr)
require(ggplot2)
d.m <- melt(d, id=c("id1","id2"))
p = ggplot(data = d, aes(x=x, y=y))+
geom_point()
plots = dlply(d, .(id1, id2),
function(x) p %+% x + ggtitle(paste(unique(x$id1), unique(x$id2)))))
这将根据因子组合id1和id2创建具有自定义 Headers 的ggplots . 现在,我如何将这些中的每一个绘制到自己的文件中,根据因子对文件名进行类似的分区?
我尝试了for循环和ggsave:
setwd("C:/")
for (i in (1:length(plots))){
plots[[i]]
ggsave(paste(names(plots[[i]]),".jpg",sep=""), dpi=600)
}
虽然我看到它循环通过控制台中的图像保存(“在图像中保存7.04 x 5.78”反复重复),但只有一个文件保存在我的Windows资源管理器中,它只包含最后一个索引图的ggplot . 有关如何使用某些命名控件在“列表”中绘制每个ggplot的任何提示?