1

我正在尝试利用 R 中的 noncensus 包加入包含县级 fips 代码的数据(“zip_codes”),以获取具有实际县名的数据(“counties”)。

我的数据集包含 100 次观察的邮政编码,我正在尝试匹配它们所在的县。县和 zip_codes 都有县 fips 代码,但是当我加入它们时,它们不匹配,因为我得到 0 返回值。

library(noncensus) 
data("zip_codes") 
data("counties") 
counties$county_fips <- as.numeric(as.character(counties$county_fips)) 
Test <- zip_codes %>% 
  left_join(counties, c("fips"="county_fips")) 
Test <- Test %>% 
  slice(1:5) %>% 
  select(zip, city, state.x, county_name)

如果 R 中有其他软件包可以从邮政编码中获取县,我也愿意尝试。

谢谢,

4

1 回答 1

1

ZCTA FIPS 代码与县 FIPS 代码没有关系。ZCTA 也不嵌套在县内,并且可以跨越县界。因此,您将需要没有其他对应表的空间方法。此 R 代码将执行此操作:

library(tigris)
library(tidyverse)
library(sf)
options(tigris_use_cache = TRUE)
options(tigris_class = "sf")

cty <- counties(cb = TRUE) %>%
  select(cty_id = GEOID, cty_name = NAME)

zc <- zctas(cb = TRUE)

zipcty <- st_join(zc, cty)

结果为每个唯一的 ZCTA/县组合返回一行;的默认空间方法st_join是“相交”,因此这可能意味着 ZCTA 位于县内、跨越县界或接触县界。

于 2017-10-24T13:43:42.097 回答