0

我想在两个不同的 *.Rnw 文件中使用一些 R 代码,并希望在这些文件中使用缓存。我读了http://yihui.name/knitr/demo/externalization/

缓存在一个文件中就可以了。但是运行第二个代码会再次执行整个代码:

平原.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}

有没有办法在多个文档之间共享缓存?

4

2 回答 2

1

跨多个源文档重用缓存是完全可能的。请仔细阅读缓存页面以了解何时重建缓存。在您的情况下,除非您的两个文档具有不同的块选项(条件 1)或不同(条件 3),否则不应重建缓存getOption('width'),因为您的代码保持不变(条件 2)。

您必须发布一个可重现的示例,否则这不是一个真正的问题。

于 2013-07-07T06:03:48.347 回答
0

完全重置示例后,结果证明两个文件都重用了缓存。我不确定是什么导致了之前的问题....

但是在一个更大的项目中,这些块没有被缓存。所以我不确定是什么导致了这个问题 - 可能只是不同的空格数......

于 2013-07-06T16:23:46.527 回答