Sweave 文档:保存输出以供日后使用

Sweave 文档:保存输出以供日后使用

我对 sweave 文档的概念还不太熟悉。我的文档是一个包含 LaTeX 代码和 R 代码的 .Rnw 文件。我的部分 R 代码计算量很大,会延迟 .Rnw 文件的编译。一旦我编译它,它看起来就很漂亮,但如果我想添加更多信息或进行一些更改,则需要一段时间才能产生这些结果。

是否有选项、命令或某种方式来告诉编译器保存输出并在下次编译 .Rnw 文件时使用它?如果有帮助,我正在 ubuntu 机器上通过 emacs 使用 ESS。

答案1

简短回答:

应用这些选项:prefix=T然后eval=F

长答案:

将图形作为单独的文件,然后禁用块评估并包含图形的 PDF。

  • prefix=T:图形的文件名使用通用前缀生成(默认为源文件的名称)。

  • eval=F:代码块未经评估,因此没有创建文本或图形输出。

使用此 MWE 中的选项:

\documentclass{article}

\begin{document}

The A chunk

<<a,echo=T,eval=T,results=hide>>=
a <-2+3
a
@

The B chunk 

<<b,echo=T,eval=T,fig=T,prefix=T,results=verbatim>>=
b <- a+3
b
cars <- c(1, 3, 6, 4, 9)
plot(cars)
@
\end{document}

其他一些有趣的选项可能是results=hide(输出被抑制,但代码被执行)。

但是,即使您可以禁用某些块的评估或输出,这可能无法对某些大型文档提供显着帮助,因为块的结果通常依赖于早期的块,因此打开和关闭以避免渲染某些图形非常麻烦。

要测试文档开头或中间的某个块并跳过所有后续块,更快的方法是在\end{document}其后添加一个。

`

答案2

我想你想要针织品或者可能是其所基于的 Sweave 变体之一。

相关内容