2017-12-01 1 views
0

RStudioで「ニット」ボタンをクリックしてドキュメントを編むと、ファイル名の後に「${filename}_cache」という名前のキャッシュフォルダが作成されます。コンソールから呼び出されたときに `knitr`がIDEから呼び出されたときと同じキャッシュを使用しないのはなぜですか?

私は、コンパイルによって作成されたオブジェクトを検査し、それらを私のワークスペースに入れたいと思っています。私はコンソールからknit()を呼び出すことを行うには:

knit("filename.Rmd") 

ワークスペースは今、すべてのオブジェクトが含まれていますが、これはcache/単に名前付きキャッシュを作成しました。

私はオプションで、同じキャッシュ名を使用してにknitr騙ししようとしました:

opts_chunk$set(cache.path = "filename_cache/") 

は、今では同じキャッシュ・ディレクトリが使用されているように思われるが、コマンドラインからknit()を呼び出すと、無効とするようです「ニット」ボタンをクリックするとキャッシュが作成されます。

```{r} 
library(knitr) 
opts_chunk$set(cache.path = "cache_cache/") 
``` 

```{r, cache=TRUE} 
foo <- rnorm(10) 
foo 
``` 

あなたは「ニット」ボタンまたはコンソールからこれをコンパイルする場合は、異なる結果があります:あなたはcache.Rmdとして保存し、この文書を持っている場合たとえば

、。

knit()が呼び出された方法とは独立して、同じキャッシュを使用する方法はありますか?

答えて

1

R Markdownの場合、knitr::knit()ではなくrmarkdown::render()を呼び出してください。 rmarkdown = knitr + Pandoc、およびrmarkdowncache.pathオプション(see source)を含むknitrにおけるいくつかのデフォルトのチャンクのオプションを、変更します。

関連する問題