代码之家  ›  专栏  ›  技术社区  ›  delcast

批量打印ggmaps

  •  1
  • delcast  · 技术社区  · 7 年前

    考虑1000个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() )
    

    或a 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查询需要大约两个小时才能获得1000个GGMAP的列表。

    1 回复  |  直到 7 年前
        1
  •  1
  •   delcast    7 年前

    我用过 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()