2014-02-26 2 views
0

sweave 패키지를 사용하여 내 R 코드를 기반으로 보고서를 만듭니다. 그러나 일부 코드 조각은 처리하는 데 너무 많은 시간이 걸리기 때문에 cacheSweave 패키지를 사용하여이 문제를 피할 계획입니다. cacheSweave's vignette에서RStudio에서 Sweave 드라이버를 정의하는 방법

, 그것은 자동 Sweave 명령 pdflatex을 실행되도록 내가, 내가 RStudio 내부의 "컴파일 PDF"버튼을 계속 사용하고 싶습니다

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

그러나 드라이버를 지정해야합니다 말한다 게다가.

Sweave을 호출 할 때 RStudio에서 특정 드라이버를 사용하도록 어떻게 지정합니까?

예상되는 결과는 내가 (cacheSweave의 네트에서 가져온 코드를 기반으로 예)를 두 번 다음 ".Rnw"코드를 처리 할 때, 두 번째 훨씬 빠르게 데이터를 캐시하기 때문에이 될 것입니다.

\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") 
관련 문제