Я хотел получить коды переписи для города по адресам в моих данных. Проблема в том, что я не мог найти работающие шейп-файлы для Гейнсвилла, Флорида. Поэтому я пытался получить коды переписи, используя адреса людей, принявших участие в опросе, и как только я получил код переписи, я бы набрал substr
первые 11 цифр, чтобы соответствовать ГЕОИДам пакета tidycensus
, что дает перепись графства и шейп-файлы к нижней части иерархии. Так как у меня будет GEOID только жителей города, я получу эти шейп-файлы, а не весь округ. Поэтому я сделал следующее, чтобы получить коды переписи:
library(tigris)
library(readr)
gainsville_df2 <- readr::read_csv("311_Service_Requests__myGNV_.csv")
#gainsville_df2 is the dataframe of the csv file
jio<- apply(gainsville_df2["Address"], 1, function(row) tigris::call_geolocator(row, "Gainesville", "FL", zip = NA))
#It ran for ~1.5 hours, parsing through 1892 addresses, then I got this error out of nowhere:
#Error in tigris::call_geolocator(row, "Gainesville", "FL", zip = NA) :
# Internal Server Error (HTTP 500).
#Called from: httr::stop_for_status(r)
Ссылка на данные здесь, если вы хотите посмотреть (https://github.com/THsTestingGround/SO_tigris_question/blob/master/311_Service_Requests__myGNV_.csv). У меня есть ~ 9200 адресов для разбора, и это происходит в ~ 1800. Осмотрелся с ошибкой, я вижу, что нужно установить тайм-аут, к сожалению, я понятия не имею, как это сделать.
Буду очень признателен, если вы дадите мне подсказку или, возможно, лучшее решение. Мне нужны шейп-файлы, чтобы сделать важную часть моего личного проекта. Большое вам спасибо!
РЕДАКТИРОВАТЬ: Я также могу дать мой ключ API переписи, если вы думаете, что вам это нужно.