get_acs拉取2009年德州威尔逊县tract地理数据异常问题咨询
问题原因排查
1 代码参数缺失问题
你当前的代码仅指定了state = "TX",没有指定目标县的参数,因此get_acs返回的是德克萨斯州全州所有普查tract的统计数据,自然和单县威尔逊县的TIGER文件的tract数量对不上。
如果要直接拉取威尔逊县的数据,需要补充county = "Wilson"参数,修改后的代码如下:
racedat09 <- get_acs(geography = "tract", state = "TX", county = "Wilson", # 补充威尔逊县参数 year = 2009, geometry = TRUE, output = "wide", table = "B03002", cache_table = T, survey = "acs5")
2 2009年ACS5地理单元的特殊规则
2005-2009年是美国普查局首次发布5年期ACS数据,该周期使用的是2000年普查基准的地理边界,同时存在特殊规则:
- 针对人口不足、不符合正式tract统计标准的区域,普查局会生成虚拟汇总统计单元,这类单元仅用于发布统计数据,不会纳入正式的TIGER/Line边界数据集,就是你观察到的
000开头的tract编码 - 正式可匹配边界的tract编码以
980开头,和你手头的TIGER文件编码规则一致
3 匹配校验方法
如果已经拉取了全州的数据,可以通过GEOID前缀筛选威尔逊县的有效tract:2009年普查tract的GEOID前5位为州FIPS+县FIPS,德克萨斯州FIPS为48,威尔逊县FIPS为339,筛选前缀为48339的条目即可得到该县的有效数据,再剔除000开头的虚拟单元,就能和TIGER文件匹配一致。
可选优化:如果需要拉取和TIGER文件完全一致的边界,可在
get_acs参数中补充cb = FALSE,拉取完整版非简化的TIGER边界,编码匹配度更高。
内容的提问来源于stack exchange,提问作者Calo
相关产品推荐
相关产品推荐

