3

我正在编写两个报告(例如,example1.Rnw 和 example2.Rnw),第一个带有缓存块,我希望能够在第二个文档中访问和使用。

假设 example1.Rnw 是

\documentclass[a4paper, 11pt]{article}
\begin{document} 
<<simpleExample, cache=TRUE>>=
  z<-1+1
@
\end{document}

然后我认为 example2.Rnw 会像

\documentclass[a4paper, 11pt]{article}
\begin{document}
<<setup>>=
 opts_chunk$set(cache.path = "~/DirectoryOfExample1/cache")
@
<<simplePrint, dependson = 'simpleExample'>>=
  print(z)
@
\end{document}

这似乎类似于这个问题How to cache knitr chunks across two (or more) files? 除了我没有使用外化。是否可以以这种方式在新文档中重用旧缓存,如果可以,如何?

4

1 回答 1

1

可以重用缓存,但恕我直言,您必须在example2.Rnw文件中复制您simpleExample的块。它必须与example1.Rnw中的完全相同(没有不同的空格,没有不同的选项,...)。

例子2.Rnw:

\documentclass[a4paper, 11pt]{article}
\begin{document}
<<setup>>=
 opts_chunk$set(cache.path = "~/DirectoryOfExample1/cache")
@
<<simpleExample, cache=TRUE>>=
  z<-1+1
@
<<simplePrint, dependson = 'simpleExample'>>=
  print(z)
@
\end{document}
于 2013-09-02T15:32:56.533 回答