R 按绘图名称保存绘图列表()

R 按绘图名称保存绘图列表(),r,ggplot2,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() 我将用什么替换“…”,以便在我的工作目录中,绘

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

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()
我将用什么替换“…”,以便在我的工作目录中,绘图保存为:

a.jpeg
b.jpeg
c.jpeg

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

lapply(names(plots), 
  function(x)ggsave(filename=paste(x,".jpeg",sep=""), plot=plots[[x]]))
奥巴马的回答是耸人听闻的!下面是
purrr 0.3.4
版本,适用于那些可能更喜欢在
tidyverse
中工作的人。此外,由于
ggsave
默认保存到工作目录,因此会创建一个临时目录来保存绘图

map(names(plots), function(.x) {
    ggsave(
        path = "tmp/",
        filename = paste0(.x, ".png"),
        plot = plots[[.x]]
        )
    })

+1和接受纯粹的简单性。这对我来说是一个打击的时刻。谢谢科什克!
map(names(plots), function(.x) {
    ggsave(
        path = "tmp/",
        filename = paste0(.x, ".png"),
        plot = plots[[.x]]
        )
    })