Я написал функцию для загрузки нескольких файлов из базы данных NOAA. Во-первых, у меня есть sites
, который представляет собой список идентификаторов сайтов, которые я хочу загрузить с сайта. Это выглядит так:
> head(sites)
[[1]]
[1] "9212"
[[2]]
[1] "10158"
[[3]]
[1] "11098"
> length(sites)
[1] 2504
Моя функция показана ниже.
tested<-lapply(seq_along(sites), function(x) {
no<-sites[[x]]
data=GET(paste0('https://www.ncdc.noaa.gov/paleo-search/data/search.json?xmlId=', no))
v<-content(data)
check=GET(v$statusUrl)
j<-content(check)
URL<-j$archive
download.file(URL, destfile=paste0('./tree_ring/', no, '.zip'))
})
Странная проблема заключается в том, что он работает для первых трех сайтов (загружается правильно), но затем останавливается после трех сайтов и выдает следующую ошибку:
Error in charToRaw(URL) : argument must be a character vector of length 1
I Попытался вручную загрузить 4-й и 5-й сайт (используя тот же код, что и выше, но не в функции), и он работает нормально. Что может происходить здесь?
РЕДАКТИРОВАТЬ 1: Отображение дополнительных идентификаторов сайта в соответствии с запросом
> dput(sites[1:6])
list("9212", "10158", "11098", "15757", "15777", "15781")