【发布时间】:2019-01-14 05:30:14
【问题描述】:
我正在尝试使用 R 下载一堆包含日常数据的 NetCDF 文件。因为我需要多年的数据,所以我编写了一个循环来下载这些文件,但我收到的消息只有 ' 的第一个元素使用 destfile' 参数并且只下载第一个文件。
file_base <- paste0("https://www.ncei.noaa.gov/data/sea-surface-temperature-optimum-interpolation/access/avhrr-only/199801/")
yrs=c("1998")
mon=c("01")
day=("01","02","03")
for (y in yrs){
for (m in mon){
for (d in day){
ymd <- paste0(yrs,mon,day)
fn_url <- paste0 (file_base,"avhrr-only-v2.",ymd,".nc")
fn <- paste0("avhrr-only-v2",ymd,".nc")
download.file(url=paste0(file_base), destfile=fn, method="auto", quiet=TRUE, mode="wb")
}
}
}
我查看了Download multiple files using "download.files" function 和该线程中的其他两个超链接,但我仍然无法弄清楚为什么我会收到警告消息以及如何让 R 下载多个文件。我对 R 还是有点陌生,所以任何帮助/提示都会很棒。谢谢!
【问题讨论】:
-
ymd <- paste0(yrs,mon,day)应该是ymd <- paste0(y, m, d)。但是,在迭代之前创建文件名不会那么混乱,如果您以后想要制作数据框列表,这使得它更容易转换为lapply或Map