批量打印ggmaps

Batch printing ggmaps

考虑一个包含 1,000 个 ggmap 的列表。我们称此列表为 maps.

我们如何将它们作为 .png 打印到工作目录?

我用于单个 ggmap 的代码是:

png(filename = "1.png",width=1000, height=1000)
m1<-ggmap(maps[[1]])

print(m1)
dev.off()

我正在考虑将 lapply 用于这样的事情:

lapply(maps, function (x) png(filename = "x.png", width=1000, height=1000) x
<-ggmap(maps[[x]]) print(x) dev.off() )

for,

for (x in maps) { png(filename = "x.png", width=1000, height=1000) 
x <-ggmap(maps[[x]]) print(x) dev.off()}

但是,由于 filename= 的说法,我觉得这是错误的。由于引号,我不确定如何将列表的元素 x 分配给它。

我不希望中断 R 会话而不得不终止它,因为我的 API 查询花了大约两个小时来获取 1,000 个 ggmap 的列表。

我按照建议使用了 forseq_along。最后借助包stringr.

for (i in seq_along(maps)) {
  filename <-str_c(i,".png")
  png(filename = filename,width=1000, height=1000) 
m <-ggmap(maps[[i]]) 
print(m)
dev.off()