如何简洁加载tidycensus十年普查(Decennial)变量?
简化tidycensus加载普查变量的代码
可以用tidyverse内置的purrr::map_dfr函数批量处理,一次性完成所有sf数据集的加载与合并,彻底省去临时变量创建和手动绑定的繁琐步骤:
# 包加载代码也可以简化 ReqPkgs <- c('dplyr', 'tidyverse', 'tidycensus', 'sf') lapply(ReqPkgs, function(x) { if (!require(x, character.only = TRUE)) { install.packages(x, dependencies = TRUE) library(x, character.only = TRUE) } }) # 简化后的变量加载核心代码 vd_2000 <- map_dfr(paste0("sf", 1:4), ~load_variables(2000, .x, cache = TRUE))
代码说明:
paste0("sf", 1:4)自动生成c("sf1", "sf2", "sf3", "sf4")列表,无需手动逐个输入数据集类型map_dfr会遍历列表中的每个元素,将其传入load_variables作为数据集类型参数,同时自动把所有返回的数据框按行合并为一个完整的数据框- 全程不需要创建
vd_20001这类临时变量,也无需事后清理,代码更简洁易维护
内容的提问来源于stack exchange,提问作者tchoup
相关产品推荐
相关产品推荐

