R Markdown - 如何防止 Knitr 重复下载文件?
R Markdown - How to prevent Knitr from repeatedly downloading a file?
在 R Markdown Rmd. 上工作时,我可以阻止 Knitr 在每次编织 Markdown 时下载文件吗?
我的代码块是:
download.file(url = paste('https://d396qusza40orc.cloudfront.net/',
'repdata/data/StormData.csv.bz2',
sep = ''),
destfile = './storm.csv.bz2',
method = 'curl'))
块的系统时间本身并没有那么重要:
user system elapsed
0.893 1.139 28.825
但也许有一种方法可以缓存下载或其他东西,这样我就可以更快地查看 HTML。
您需要在尝试下载之前检查文件是否存在。
destfile <- './storm.csv.bz2'
if (!file.exists(destfile))
{
your code
}
使用 httr
、GET
和 write_disk
,因为如果 destfile
存在,write_disk
将不会让 GET
执行下载(就像一个小型缓存操作)。 GET
也在幕后使用 RCurl
。
library(httr)
try(GET(url, write_disk(destfile)))
在 R Markdown Rmd. 上工作时,我可以阻止 Knitr 在每次编织 Markdown 时下载文件吗?
我的代码块是:
download.file(url = paste('https://d396qusza40orc.cloudfront.net/',
'repdata/data/StormData.csv.bz2',
sep = ''),
destfile = './storm.csv.bz2',
method = 'curl'))
块的系统时间本身并没有那么重要:
user system elapsed
0.893 1.139 28.825
但也许有一种方法可以缓存下载或其他东西,这样我就可以更快地查看 HTML。
您需要在尝试下载之前检查文件是否存在。
destfile <- './storm.csv.bz2'
if (!file.exists(destfile))
{
your code
}
使用 httr
、GET
和 write_disk
,因为如果 destfile
存在,write_disk
将不会让 GET
执行下载(就像一个小型缓存操作)。 GET
也在幕后使用 RCurl
。
library(httr)
try(GET(url, write_disk(destfile)))