R Markdown - 如何防止Knitr重复下载文件?

时间:2015-04-02 21:04:36

标签: r knitr r-markdown

在处理R Markdown Rmd。时,我是否可以在每次编织Markdown时阻止Knitr下载文件?

我的代码块是:

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。

2 个答案:

答案 0 :(得分:5)

在尝试下载之前,您需要检查文件是否存在。

   destfile <- './storm.csv.bz2'
    if (!file.exists(destfile))
    {
      your code
    }

答案 1 :(得分:3)

使用httrGETwrite_disk,因为如果destfile存在,write_disk将不允许GET执行下载(就像小型缓存操作)。 GET还使用了RCurl

library(httr)

try(GET(url, write_disk(destfile)))