按名称保存图表列表()

Bra*_*sen 6 r ggplot2

假设我有一个我创建的情节列表.

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()
Run Code Online (Sandbox Code Playgroud)

现在,我想保存所有这些,用各自的名称(图表)元素标记每个.

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

我将如何替换"...",以便在我的工作目录中将图保存为:

a.jpeg
b.jpeg
c.jpeg
Run Code Online (Sandbox Code Playgroud)

koh*_*ske 19

可能你需要传递列表的名称:

lapply(names(plots), 
  function(x)ggsave(filename=paste(x,".jpeg",sep=""), plot=plots[[x]]))
Run Code Online (Sandbox Code Playgroud)

  • +1并接受,非常简单。对我来说这是一个耳光。谢谢科什克! (2认同)