Я пытаюсь получить большой объем данных (~ 500K идентификаторов отдельных серий) с помощью API BLS и сохранить вывод в виде фрейма данных.
Я столкнулся с двумя проблемами:
- BLS API допускает только 50 результатов / запрос и 2,5 тыс. Запросов в день
- Сохранение вывода в виде скомпилированного фрейма данных
Я создал фрейм данных только с однимстолбец «Идентификатор серии», в котором содержится информация, необходимая API-интерфейсу BLS для возврата данных по этому конкретному идентификатору.Чтобы обойти ограничение результатов / запросов, я попытался разделить фрейм данных всех идентификаторов серии 500K на группы по 250 (чтобы не превышать лимит запросов в день) и использовать функцию для запуска кода bls_api через каждую группу в отдельности.Я верю, что это могло сработать, но я не могу увидеть результат.Чтобы попытаться сохранить выходные данные в фрейме данных, я создал пустой фрейм данных и попытался связать выходные данные функции BLS с пустым фреймом данных.
Создание пустого кадра данных для хранения выходных данных BLS в
output <- data.frame();
Запуск кода API BLS на сегментах из 250 строк идентификаторов серий
unlist(lapply(split(df$`Series ID`, rep(1:250)),
function(Data)
{bls_data <- bls_api(Data,startyear=2016, endyear= 2019, Sys.getenv("BLS_KEY"));
output <- rbind(output,bls_data)}))
В то время как я вижу вывод BLS_API (ie. "REQUEST_SUCCEEDED")
в консоли, вывод не сохраняется как «выходные данные» информационного кадра (информационный кадр все еще пуст).
Я новичок в функциях, поэтому любые советыценный!