Реконструировать группирующую переменную для регионов внутри карты округов США? - PullRequest
0 голосов
/ 03 апреля 2020

Я пытаюсь восстановить группирующую переменную для регионов внутри карты всех округов США. Мне не удалось найти масштабируемое решение этой проблемы с помощью поиска в Google и SO.

Вот упрощенный пример, использующий только штат Техас. Изображение представляет разные регионы в Техасе с разными цветами. Я хотел бы создать переменную группировки, в которой есть уровни для всех цветов, но я должен восстановить, какие графства являются частью каждого уровня (т. Е. У меня нет данных группировки в таблице).

texasRegionMap

Используя подход ответа kwalkertcu в этом посте , я сгенерировал ключ, который включает в себя почтовый индекс, код округа, название округа и широту / Информация о долготе для всех округов США.

    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)

    head(zipcty)

Моя стратегия первого прохода состоит в том, чтобы вручную изучить другие карты округов, чтобы идентифицировать все округа, которые образуют границу данного региона. Здесь я подгруппирую данные для включения желтой области Техаса:

    # county names in yellow region
    yl_names <- c("Floyd", "Motley", "Cottle", "Foard","Crosby", "Dickens", "King", "Knox", 
                  "Garza", "Kent", "Stonewall", "Haskell", "Borden", "Scurry", "Fisher", 
                  "Jones", "Howard", "Mitchell", "Nolan", "Taylor")

    # get zipcodes of Texas
    library(zipcode)
    data("zipcode")
    tx_zp <- zipcode$zip[zipcode$state %in% "TX"]

    # subset zipcty for the Texas yellow region
    texas_yl <- zipcty[zipcty$cty_name %in% yl_names & zipcty$ZCTA5CE10 %in% tx_zp,]

Теперь предположим, что я только вручную определил округа на внешней границе желтой области, но я также хотел включить все графства внутри границы (показаны белым цветом) на желтом уровне группирующей переменной.

(Эти округа называются Диккенс, Кинг, Кент, Стонуолл, Скарри и Фишер.)

Важно отметить, что я не хочу go из-за ручного осмотра карт, чтобы сделать правильные идентификация неграничных округов.

yellowRegion

Существует ли масштабируемый способ сделать это в R? Окончательное решение не обязательно должно использовать мою попытку, но я надеюсь, что это поможет достичь моей цели.

...