使用邮政编码 (reverze_zipcode) 获取县和州

问题描述 投票:0回答:2

我有一个唯一客户名称及其邮政编码的列表。我需要获得有关邮政编码的额外信息,例如州和县。我发现了包 zipcodeR 但无法使用 reverse_zipcode 函数。下面是一个示例数据集。

df <- data.frame(name = c('Juan', 'Alice', 'Tim', 'Joe'),
                 zipc = c('11374', '11374', '11379', 'A145'))

我的数据框需要一个州和县列。

   name  zipc
1  Juan 11374
2 Alice 11374
3   Tim 11379
4   Joe  A145

谢谢!

r dataframe zipcode zipcoder
2个回答
1
投票

我们可以使用

zipcodeR
包这样做

library(dplyr)
library(zipcodeR)

zip_code_db %>% 
  select(zipcode, state, county) %>% 
  right_join(df, by = c("zipcode"="zipc"), multiple = "all")

  zipcode state        county  name
1   11374    NY Queens County  Juan
2   11374    NY Queens County Alice
3   11379    NY Queens County   Tim
4    A145  <NA>          <NA>   Joe

0
投票

看起来 reverse_zipcode 函数没有返回值,即使是

NA
,当它在
zip_code_db
包中包含的
zipcodeR
数据框中找不到邮政编码时。下面的示例检查邮政编码“看起来”是否正确,否则返回
NA

library(zipcodeR)
library(purrr)
library(dplyr)
data.frame(name = c('Juan', 'Alice', 'Tim', 'Joe'),
                 zipc = c('11374', '11374', '11379', 'A145')) %>%
  mutate(test2 = map_chr(zipc,
                         ~ ifelse(str_length(.) == 5 & !is.na(as.numeric(.)),
                                  zipcodeR::reverse_zipcode(.)$state,NA)))
© www.soinside.com 2019 - 2024. All rights reserved.