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

7ivaypg9  于 2023-05-11  发布在  其他
关注(0)|答案(2)|浏览(158)

我有一份客户姓名和邮政编码的清单。
我需要得到额外的信息,如州和县的邮政编码。
我发现了zipcodeR包,但无法使用reverse_zipcode函数
下面是一个示例数据集。

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

我需要一个州和县列为我的 Dataframe 。

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

bwitn5fc1#

使用zipcodeR package,可以按如下方式完成:

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
xzlaal3s

xzlaal3s2#

当reverse_zipcode函数在zipcodeR包中包含的zip_code_db Dataframe 中找不到邮政编码时,它似乎没有返回值,甚至NA也没有。下面的示例检查邮政编码“看起来”是否正确,否则返回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)))

相关问题