2014-02-26 36 views
0

我正在使用sweave程序包基於我的R代碼生成報告。但是,由於某些代碼塊需要太多時間來處理,因此我打算使用cacheSweave包來避免此問題。如何在RStudio上定義Sweave驅動程序

cacheSweave's vignette,它說我需要指定一個驅動器

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

不過,我想用「編譯PDF」按鈕內部RStudio保持,使其自動運行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」了兩次,但沒有成功。

+3

這可能是值得切換到** knitr * *,這將本地讓你緩存特定的塊。 – Thomas

回答

1

解決方案:

,張貼在該"ghost" blog,我創建了一個名爲.Rprofile在我的工作目錄,內容如下文件:

library(utils) 
library(cacheSweave) 
assignInNamespace("RweaveLatex", cacheSweave::cacheSweaveDriver, "utils") 
相關問題