我有一个使用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的任何提示?