我在使用knitr时遇到了困难,它无法在两个共享外部R文件源代码的Rmd文档之间利用缓存。尽管我可以在文件系统中看到两个文档都将输出写入同一组缓存文件中,但每次一个Rmd文档被编织成HTML时,它都会覆盖先前编织的Rmd生成的缓存文件。对同一Rmd文件的多次编织成功利用缓存而不重新执行共享代码。我在配置缓存选项以支持多个文档时是否遗漏了什么?以下是示例代码和sessionInfo()转储。感谢您提供的任何帮助。
test1.R
## @knitr source_chunk_1
x <- Sys.time()
x
test1a.Rmd
```{r set_global_options, cache=FALSE}
library(knitr)
opts_knit$set(self.contained = FALSE)
opts_chunk$set(cache = TRUE, cache.path = "knitrcache/test-")
read_chunk("test1.R")
```
```{r local_chunk_1, ref.label="source_chunk_1"}
```
test1b.Rmd
```{r set_global_options, cache=FALSE}
library(knitr)
opts_knit$set(self.contained = FALSE)
opts_chunk$set(cache = TRUE, cache.path = "knitrcache/test-")
read_chunk("test1.R")
```
```{r local_chunk_1, ref.label="source_chunk_1"}
```
sessionInfo
> sessionInfo()
R version 3.1.0 (2014-04-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252
LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] knitr_1.5
loaded via a namespace (and not attached):
[1] evaluate_0.5.3 formatR_0.10 rmarkdown_0.2.05 stringr_0.6.2 tools_3.1.0