我有一个文件列表,例如
mylist <- c('http://myweb/myzip1.gz',
'http://myweb/myzip2.gz',
'http://myweb/myzip3.gz)
我需要下载它们并将它们解压缩到另一个路径D://mydata/
。
现在,我已经使用了purrr
和download.file
#get files
myfunc <- function(mystring){
download.file(mystring,
destfile = paste0('D://mydata/', basename(mystring))
}
#download data
map(mylist, myfunc)
但是下载几个小时后(每个文件为10GB以上),Rstudio
会冻结(即使下载仍在后台进行)。
有更有效的方法吗?我想跟踪R中的下载,而不必在某个时候冻结。
谢谢!
答案 0 :(得分:2)
我认为上面的信息不足以作为单个代码块给出“答案”,但是我认为您可以做一些事情,共同解决问题:
seq_along(mylist) %/% N
拆分文件名列表,其中N是块大小。考虑使用for循环在批之间进行迭代,而purrr
仅在批内进行迭代。 gc()
从RAM中删除它们。