我想在两个不同的* .Rnw文件中使用一些R-Code,并希望在这些文件中使用缓存。 我看了http://yihui.name/knitr/demo/externalization/
在一个文件中缓存工作正常。但是运行第二个代码会再次执行:
plain.R
## @knitr random1
a <- rnorm(10)
a
doc1.Rnw(和doc2.Rnw)
\documentclass{article}
<<set-options, echo=FALSE, cache=FALSE>>=
options(replace.assign=TRUE)
opts_chunk$set(external=TRUE, cache=TRUE, echo=FALSE, fig=TRUE)
read_chunk('plain.R')
@
\title{Doc 1}
\begin{document}
<<random1>>=
@
\end{document}
有没有办法在多个文档之间共享缓存?
答案 0 :(得分:1)
完全可以在多个源文档中重用缓存。请仔细阅读cache page以了解何时重建缓存。在您的情况下,除非您的两个文档具有不同的块选项(条件1)或不同的getOption('width')
(条件3),否则不应重建缓存,因为您的代码保持不变(条件2)。
你必须发布一个可重复的例子,否则这不是一个真正的问题。
答案 1 :(得分:0)
完全重置示例后,结果证明两个文件都重用了缓存。我不确定之前导致问题的是什么......
但是在一个更大的项目中,块不会被缓存。所以我不确定导致问题的原因 - 可能只是一个不同的空间数......