Я хочу загрузить более 100 файлов с sf.rds" rel="nofollow noreferrer">https://biogeo.ucdavis. edu/data/gadm3.6/Rsf/gadm36_AGO
sf.rds. Единственная строка, которая меняется в URL-адресе, — это «AGO», которая должна быть заменена другой строкой, такой как «DZA», взятой из списка. Например, sf.rds" rel="nofollow noreferrer">https://biogeo.ucdavis.edu/data/gadm3 .6/Rsf/gadm36_DZAstrin<-structure(list(iso3c = c("DZA", "AGO", "BWA", "BDI", "CMR", "CPV"
)), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA,
-6L))
sf.rds загрузит другой файл. Я был бы признателен за любую помощь в создании функции, которая загружает итеративно с помощью r и записывает файлы в рабочий каталог.strin<-structure(list(iso3c = c("DZA", "AGO", "BWA", "BDI", "CMR", "CPV"
)), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA,
-6L))
Список строк для повторения:
strin<-structure(list(iso3c = c("DZA", "AGO", "BWA", "BDI", "CMR", "CPV"
)), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA,
-6L))
Моя попытка:
list1 = strin %>% unlist(.)
for (i in list1){
urls <- lapply(list1
, function(i) paste0("https://biogeo.ucdavis.edu/data/gadm2.8/rds/", i, "_adm2.rds" ) %>% as.character(.)
)
}
for (u in urls){
url <- lapply(urls, function(u) GET(u,write_disk(tempfile(fileext = ".RDS")))
)
}
infolist1 =rownames_to_column(
data.frame(
as.matrix(
unlist(
lapply(url, `[`, c('url', 'status_code', 'content'))
)
)
)
, var = "rowname")
infolist1$rowname= gsub(".*\\.","",infolist1$rowname)
colnames(infolist1) = c("rowname", "data1")
c2 = infolist1 %>% subset(., rowname == "status_code", select = c(data1))
c3= infolist1 %>% subset(., rowname == "content", select = c(data1))
infolist1 = cbind(c2,c3) %>% unlist(.)
rm(list=c('c2', 'c3'))
colnames(infolist1) = c("urlx", "filestatus", "filepath")
Сообщение об ошибке:
Ошибка в colnames‹-(tmp, value = c("urlx", "filestatus", "filepath" : попытка установить 'colnames' для объекта с менее чем двумя измерениями'
Заранее благодарю за любую помощь.