2011-07-15 108 views
5

假設我有我創建的圖表列表。通過名稱保存圖表列表()

library(ggplot2) 
plots <- list() 
plots$a <- ggplot(cars, aes(speed, dist)) + geom_point() 
plots$b <- ggplot(cars, aes(speed)) + geom_histogram() 
plots$c <- ggplot(cars, aes(dist)) + geom_histogram() 

現在,我想保存所有這些,用各自的名稱(圖)元素進行標記。

lapply(plots, 
     function(x) { 
     ggsave(filename=paste(...,".jpeg",sep=""), plot=x) 
     dev.off() 
     } 
     ) 

我將取代「......」這樣的,在我的工作目錄中的情節被保存爲:

a.jpeg 
b.jpeg 
c.jpeg 

回答

13

可能是你需要通過列表的名稱:

lapply(names(plots), 
    function(x)ggsave(filename=paste(x,".jpeg",sep=""), plot=plots[[x]])) 
+1

+1和純粹的接受。對我來說這是一個掌門的時刻。謝謝Koshke! –