Поддерживается ли география "административного округа" для get_acs()
Я пытаюсь загрузить данные для "графства" как часть опций географии в функции get_acs() tidycensus. Я знаю, что есть несколько вариантов географии, которые Кайл Уокер опубликовал на своей странице. https://walkerke.github.io/tidycensus/articles/basic-usage.html
И хотя он отлично работает для уровня штата и округа, потому что вы просто поместите округ = "Monmouth". Но я не могу заставить синтаксис работать на уровне городского подразделения для города в графстве Монмут. Я искал другие сценарии tidycensus, но не нашел ни одного, использующего географию ниже уровня округа.
Какие-либо предложения?
library(tidycensus)
library(tidyverse)
library(sf)
census_api_key("YOUR API KEY GOES HERE")
vars <- c(English = "C16002_002",
Spanish = "C16002_003")
language <- get_acs(geography = "county subdivision",
state = "NJ",
county = "Monmouth",
city = "Red Bank",
table = "C16001")
rb_language <- get_acs(geography = "tract",
variables = vars,
state = "NJ",
county = "Monmouth",
city = "Red Bank"
geometry = TRUE,
summary_var = "C16002_001") %>%
st_transform(26918)
1 ответ
Мне не совсем понятно, пытаетесь ли вы получить данные для округа Ред Бэнк или переписных участков в Красном банке. В любом случае вы не можете сделать это напрямую в tidycensus
, а вы можете получить все подразделения или участки в округе, используя get_acs()
а затем дополнительно отфильтровать результаты.
Например, если вы просто хотите получить языковые данные для округа Red Bank, вы можете сделать это:
library(tidycensus)
library(tidyverse)
library(sf)
library(tigris)
vars <- c(English = "C16002_002",
Spanish = "C16002_003")
# get all subdivisions in monmouth county
language_subdiv <- get_acs(geography = "county subdivision",
state = "NJ",
county = "Monmouth",
table = "C16001")
# only red bank borough
language_subdiv %>%
filter(str_detect(NAME, "Red Bank"))
#> # A tibble: 38 x 5
#> GEOID NAME variable estimate moe
#> <chr> <chr> <chr> <dbl> <dbl>
#> 1 34025624… Red Bank borough, Monmouth County, N… C16001_0… 11405 171
#> 2 34025624… Red Bank borough, Monmouth County, N… C16001_0… 7227 451
#> 3 34025624… Red Bank borough, Monmouth County, N… C16001_0… 3789 425
#> 4 34025624… Red Bank borough, Monmouth County, N… C16001_0… 1287 247
#> 5 34025624… Red Bank borough, Monmouth County, N… C16001_0… 2502 435
#> 6 34025624… Red Bank borough, Monmouth County, N… C16001_0… 0 19
#> 7 34025624… Red Bank borough, Monmouth County, N… C16001_0… 0 19
#> 8 34025624… Red Bank borough, Monmouth County, N… C16001_0… 0 19
#> 9 34025624… Red Bank borough, Monmouth County, N… C16001_0… 42 40
#> 10 34025624… Red Bank borough, Monmouth County, N… C16001_0… 0 19
#> # ... with 28 more rows
Теперь, если вам нужны переписные участки в Красном берегу, вы можете взять все переписные участки в Монмуте, а затем использовать tigris::places()
чтобы получить границы Красного берега и, наконец, отфильтровать участки переписи, чтобы получить только те участки, которые содержатся на границе Красного берега.
# get all tracts in monmouth county
language_tract <- get_acs(geography = "tract",
variables = vars,
state = "NJ",
county = "Monmouth",
geometry = TRUE,
summary_var = "C16002_001",
output = "wide")
# get geometry of red bank borough
red_bank_place <- places("NJ", cb = TRUE, class = "sf") %>%
filter(NAME == "Red Bank")
# only tracts in red bank borough
red_bank_tracts <- language_tract %>%
filter(st_contains(red_bank_place, ., sparse = FALSE))
ggplot() +
geom_sf(data = red_bank_tracts, color = "blue", fill = NA) +
geom_sf(data = red_bank_place, color = "black", fill = NA)
Создано в 2018-12-24 пакетом представлением (v0.2.1)