小编Pra*_* T.的帖子

使用 map (purrr) 迭代 R 中的两个向量

我正在尝试在多个都市区绘制三个不同因变量的地图(每个因变量单独绘制)。为此,我尝试制作 2 个嵌套地图。我首先对一个都市区的 3 个不同变量进行操作 - 定义函数并通过地图运行它,它就可以工作。这部分的代码如下:

plot_fun <- function(x){
  base_plot_2015$`14460` +
  data_2015 %>% subset(met2013 == 14460) %>% subset(onetsoccode == "151021") %>% 
    geom_sf(mapping = aes_string(fill = x)) +
    scale_fill_viridis_c(option = "plasma") 
}

expl <- names(data_2015)[17:19]
expl <- set_names(expl)

plot_Boston <- map(expl, ~plot_fun(.x))
Run Code Online (Sandbox Code Playgroud)

这给了我一个包含 3 张地图的列表,到目前为止还不错。(请注意,base_plot 是一个列表,其中包含保存为都市区 ID 的每个都市区的地图,该 ID 存储为 double)。

接下来,我想做同样的事情,但也要对不同的地铁代码进行迭代。我尝试通过定义以下函数来做到这一点:

plot_fun <- function(x,y){
  base_plot_2015$`y` +
    data_2015 %>% subset(met2013 == y) %>% subset(onetsoccode == "151021") %>% 
    geom_sf(mapping = aes_string(fill = x)) +
    scale_fill_viridis_c(option = "plasma") 
}
Run Code Online (Sandbox Code Playgroud)

这个想法是将其映射到都会区域向量 (y) 上,以绘制每个因变量 …

r function purrr

5
推荐指数
1
解决办法
917
查看次数

标签 统计

function ×1

purrr ×1

r ×1