如何在RStudio上定义Sweave驱动程序

时间:2014-02-26 15:11:09

标签: r latex rstudio sweave

我正在使用sweave包根据我的R代码制作报告。但是,由于某些代码块需要花费太多时间来处理,因此我计划使用cacheSweave包来避免此问题。

cacheSweave's vignette中,它说我需要指定一个驱动程序

Sweave("foo.Rnw", driver = cacheSweaveDriver)

但是,我想继续使用RStudio中的“ Compile PDF ”按钮,以便它自动运行Sweave命令和pdflatex

如何在调用Sweave函数时告诉RStudio使用该特定驱动程序?

预期的结果是,当我处理以下“ .Rnw ”代码两次时(示例基于从cacheSweave的插图中获取的代码),第二次将更快因为数据是缓存的。

\documentclass{article}
\begin{document}
\SweaveOpts{concordance=TRUE}
<cache=TRUE>>=
set.seed(1)
x <- local({
  Sys.sleep(10)
  rnorm(100)
})
results <- mean(x)
@
\end{document}

Sweave函数帮助说*环境变量SWEAVE_OPTIONS可用于覆盖驱动程序*设置的初始选项。所以我在RStudio控制台中尝试了以下命令,

Sys.setenv(SWEAVE_OPTIONS="driver=cacheSweaveDriver")

然后“再编译PDF”两次,但没有成功。

1 个答案:

答案 0 :(得分:1)

解决方案:

在此"ghost" blog中发布,我在工作目录中创建了一个名为 .Rprofile 的文件,其中包含以下内容:

library(utils)
library(cacheSweave)
assignInNamespace("RweaveLatex", cacheSweave::cacheSweaveDriver, "utils")