我正在编写两个报告(例如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?类似,除了我没有使用外部化。是否可以通过这种方式在新文档中重用旧的缓存,如果可以,怎么办?
最佳答案
可以重用缓存,但是恕我直言,您必须在example2.Rnw文件中复制simpleExample
块。它必须与example1.Rnw完全相同(没有不同的空格,没有不同的选项,...)。
example2.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}
关于r - 与新的.Rnw文件共享旧的Knitr缓存,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18576110/