Проблема с загрузкой данных Tidycensus
Я пытаюсь загрузить переменные данные с помощью tidycensus, но сталкиваюсь с распространенной ошибкой.
library(tidycensus)
library(tidyverse)
census_api_key("My key is here")
poverty <- get_acs(geography = "block group", variables = "B17021",
state = "MO", county = "St. Louis City", geometry = TRUE)
Ошибка, которую я получаю, заключается в следующем.
Error in as.character(x) : cannot coerce type 'closure' to vector of type
'character'
Я удостоверился, что запускаю обновленные пакеты и ввел свой ключ API Census, но ошибка сохраняется. Любые предложения приветствуются
2 ответа
Вы не можете получить доступ к переменным через API Census Bureau без указания того, какие "строки" и "столбцы" вы хотите. Из таблицы B17021
у вас есть много вариантов; Одним из таких вариантов вы могли бы выбрать Estimate
(столбец) из Income in the past 12 months below poverty level
(строка). В общем случае формат правильно отформатированных имен переменных TableName_VariableNumberType
, Итак, для примера, который я только что дал:
- Таблица =
B17021
- Ряд =
002
- Тип =
estimate
(E
)
Переменная это соответствует "B17021_002E"
,
Однако лучше всего обратиться к соответствующей документации API, чтобы убедиться, что у вас правильное имя переменной. Таблица B17021
начинается примерно посередине страницы, и вы можете сопоставить это руководство с тем, что вы видите в американском FactFinder, чтобы убедиться, что у вас есть правильное имя переменной.
Кроме того, я написал себе руководство по этому поводу пару лет назад для Python. Это немного устарело, но я разместил его на своем GitHub на случай, если это может помочь.
Изменить: кажется, что get_acs
не требует, чтобы вы указали тип переменной. Если вы этого не сделаете, то возвращаемые данные имеют все атрибуты, что позволяет отдельно выводить оценку, предел погрешности, из одного и того же объекта. Это хорошая особенность!
Ответ @HFBrowning великолепен. Также: вы можете использовать table
параметр вместо variables
Параметр для запроса всех переменных из заданной таблицы, что позволит вашему предоставленному коду работать. Например:
poverty <- get_acs(geography = "block group", table = "B17021",
state = "MO", county = "St. Louis City", geometry = TRUE)
работает, и позволяет получить переменные B17021_001
через B17021_035
без указания их индивидуально.