批量打印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 的列表。
我按照建议使用了 for
和 seq_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()
考虑一个包含 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 的列表。
我按照建议使用了 for
和 seq_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()