2014-04-14 2 views
3

RStudio의 '미리보기'버전을 사용 중입니다. 파일에 및 docx 문서를 생성하는 데 사용하는 파일이 있습니다. 나는이 같은 내 옵션을 설정 한 : 나는 같은 확장 eg.htm의 문서를 다시 만들려고하지만 같은 Rmd 파일을 사용하려고하는 경우 pdf 또는 docx 문서를 만들 때서로 다른 문서 유형에 걸친 청크 캐스팅

opts_chunk$set(cache=TRUE, comment="",message=FALSE, warning = FALSE) 

cache=TRUE 잘 작동 캐시 된 수치는 재사용되지 않고 매우 느리게 실행됩니다. 캐시 된 수치를 다른 유형의 문서에 다시 사용하는 방법이 있습니까? 다음과 같은 최소한의 예를 고려하십시오 :

{r,echo=FALSE} 
library(knitr) 
opts_chunk$set(cache=TRUE, comment="",message=FALSE, warning = FALSE) 


{r, echo=FALSE} 
    plot(cars) 

나는 그것이 HTML 문서를 생성하고 코드 만 knit pdf 클릭을 재-사용하는 knit html 옵션을 선택하면, cache=TRUE는 무시됩니다. 분명히이 최소한의 예제로 눈에 띄지는 않지만 약 30 그래픽 내 파일을 사용하여 완전히 느려집니다.

답변

2

이것은 rmarkdown 패키지가 다양한 출력 형식에 대해 서로 다른 청크 옵션을 설정하기 때문입니다. PDF 출력은 청크 옵션 dev='pdf'을 사용하고 HTML 출력은 dev='png'을 사용합니다. 청크 옵션을 변경하면 캐시가 무효화됩니다.

당신이 할 수있는 한 가지는 다른 출력 형식에 대해 다른 캐시 디렉토리를 만드는 것입니다.

```{r setup, include=FALSE} 
library(knitr) 
local({ 
    to = opts_knit$get('rmarkdown.pandoc.to') # output format 
    opts_chunk$set(cache.path = paste('cache', to, sep = '_')) 
}) 
``` 

참고 캐싱이 출력 형식에 대해 개별적으로 작동하는지 확인합니다. 실용적이지 않은 모든 출력 형식에 대해 동일한 청크 옵션을 설정하지 않으면 다른 출력 형식에서 캐시 데이터베이스를 공유 할 수 없기 때문에이 최적의 솔루션을 받아 들여야합니다.

관련 문제