Я хочу автоматизировать процесс загрузки данных переписи из всех групп блоков из США с помощью пакета tidycensus. От разработчика есть инструкции по загрузке всех трактов в пределах США. , однако к группам блоков нельзя получить доступ с помощью того же метода.
Вот мой текущий код, который не работает
library(tidyverse)
library(tidycensus)
census_api_key("key here")
# create lists of state and county codes
data("fips_codes")
temp <- data.frame(state = as.character(fips_codes$state_code),
county = fips_codes$county_code,
stringsAsFactors = F)
temp <- aggregate(county~state, temp, c)
state <- temp$state
coun <- temp$county
# use map2_df to loop through the files, similar to the "tract" data pull
home <- map2_df(state, coun, function(x,y) {
get_acs(geography = "block group", variables = "B25038_001", #random var
state = x,county = y)
})
В результате ошибка
No encoding supplied: defaulting to UTF-8.
Error: parse error: premature EOF
(right here) ------^
Аналогичный подход для преобразования округов внутри каждого штата в список также не работает.
temp <- aggregate(county~state, temp, c)
state <- temp$state
coun <- temp$county
df<- map2_df(state, coun, function(x,y) {
get_acs(geography = "block group", variables = "B25038_001",
state = x,county = y)
})
Error: Result 1 is not a length 1 atomic vector
возвращается.
У кого-нибудь есть понимание, как это можно сделать? Более чем вероятно, что я неправильно использую функции или синтаксис, и я также не очень хорошо разбираюсь в циклах. Любая помощь будет оценена по достоинству.