R包"acs":获取县名,FIPS?
R package "acs": Get county name, FIPS?
在寻找 unsolved problem 的解决方案时,我遇到了 acs
包。我假设,在 choropleth 包中没有办法从 [city, state]
格式的数据中获取任何县信息。这就是为什么需要使用 acs 进行预处理。
我尝试了以下代码来获取城市的县信息:
library(acs)
geo.lookup(state="CA", place="San Francisco")
> geo.lookup(state="CA", place="San Francisco")
state state.name county.name place place.name
1 6 California <NA> NA <NA>
2 6 California San Francisco County 67000 San Francisco city
3 6 California San Mateo County 73262 South San Francisco city
众所周知,城市可以属于不同的县。最有可能的是,我会选择第二个
> geo.lookup(state="CA", place="San Francisco")[2,]
state state.name county.name place place.name
2 6 California San Francisco County 67000 San Francisco city
默认。
我的问题:
有没有办法获得州的缩写、县名和县 FIPS?我在 documentation.
中找不到答案
此外,为了进一步处理(与 choroplethr 匹配),需要删除 county.name
中最后的 "County" 和 place.name
中的 "city"。
以下是将州缩写、县名和县 FIPS 添加到您的示例的方法。 R 具有用于州名称和州缩写的内置变量。对于 FIPS 代码,我从人口普查局的网站上读取了一个 csv 文件。
library(acs)
library(tidyverse)
states <- cbind(state.name, state.abb) %>% tbl_df()
fips <-
read_csv(
"https://www2.census.gov/geo/docs/reference/codes/files/national_county.txt",
col_names = c("state.abb", "statefp", "countyfp", "county.name", "classfp")
)
query <- geo.lookup(state = "CA", place = "San Francisco")[2, ] %>%
tbl_df() %>%
left_join(states, by = "state.name") %>%
left_join(fips, by = c("county.name", "state.abb"))
query
# # A tibble: 1 x 9
# state state.name county.name place place.name state.abb statefp countyfp classfp
# <chr> <chr> <chr> <int> <chr> <chr> <chr> <chr> <chr>
# 1 6 California San Francisco County 67000 San Francisco city CA 06 075 H6
正如您在问题末尾指出的那样,您可能需要进一步清理此数据以使其适合 choroplethr
。
在寻找 unsolved problem 的解决方案时,我遇到了 acs
包。我假设,在 choropleth 包中没有办法从 [city, state]
格式的数据中获取任何县信息。这就是为什么需要使用 acs 进行预处理。
我尝试了以下代码来获取城市的县信息:
library(acs)
geo.lookup(state="CA", place="San Francisco")
> geo.lookup(state="CA", place="San Francisco")
state state.name county.name place place.name
1 6 California <NA> NA <NA>
2 6 California San Francisco County 67000 San Francisco city
3 6 California San Mateo County 73262 South San Francisco city
众所周知,城市可以属于不同的县。最有可能的是,我会选择第二个
> geo.lookup(state="CA", place="San Francisco")[2,]
state state.name county.name place place.name
2 6 California San Francisco County 67000 San Francisco city
默认。
我的问题: 有没有办法获得州的缩写、县名和县 FIPS?我在 documentation.
中找不到答案此外,为了进一步处理(与 choroplethr 匹配),需要删除 county.name
中最后的 "County" 和 place.name
中的 "city"。
以下是将州缩写、县名和县 FIPS 添加到您的示例的方法。 R 具有用于州名称和州缩写的内置变量。对于 FIPS 代码,我从人口普查局的网站上读取了一个 csv 文件。
library(acs)
library(tidyverse)
states <- cbind(state.name, state.abb) %>% tbl_df()
fips <-
read_csv(
"https://www2.census.gov/geo/docs/reference/codes/files/national_county.txt",
col_names = c("state.abb", "statefp", "countyfp", "county.name", "classfp")
)
query <- geo.lookup(state = "CA", place = "San Francisco")[2, ] %>%
tbl_df() %>%
left_join(states, by = "state.name") %>%
left_join(fips, by = c("county.name", "state.abb"))
query
# # A tibble: 1 x 9
# state state.name county.name place place.name state.abb statefp countyfp classfp
# <chr> <chr> <chr> <int> <chr> <chr> <chr> <chr> <chr>
# 1 6 California San Francisco County 67000 San Francisco city CA 06 075 H6
正如您在问题末尾指出的那样,您可能需要进一步清理此数据以使其适合 choroplethr
。