cache=TRUE
オプションを使用して、knitr
でRMarkdownを使用してRコードチャンクをキャッシュできることを理解しています。例:次のようになります。
```{r longanalysis, cache=TRUE}
for (i in 1:5000) {
lm((i+1)~i)
}
```
そして、その分析のキャッシュを無効にしたい場合は、コードチャンクのオプションをcache=FALSE
に変更できることに気付きました。ただし、キャッシュが有効になっているRコードチャンクが多数ある場合は、慎重な検索と置換の操作が必要になります。
cache=FALSE
を一時的に設定する方法はありますか?私は見た この例 最初の行はどこにあるか。ですから、これはグローバル設定の方法だと思いますが、ローカル設定はグローバル設定よりも優先されると思います。
`r opts_chunk$set(fig.width=5, fig.height=5, fig.path='')`
デフォルトはFALSEに設定されており、ローカルチャンクオプションはグローバルオプションを上書きしているようですが、ドキュメントの先頭にこれを追加することで、グローバルオプションをデフォルトでキャッシュするように設定できます。
`r opts_chunk$set(cache=TRUE)`
次に、キャッシュしたくないセクションについては、それらのセクションを明示的にcache = FALSEに設定します。
次に、ドキュメント全体をキャッシュしないように設定する場合は、グローバルオプションをFALSEに変更して、再実行できます。
問題は、チャンクオプションのいずれかがcache = TRUEに設定されている場合、それらはグローバル設定を上書きし、グローバルオプションをFALSEに設定すると再実行されないことです。したがって、必要なことを実現する唯一の方法は、デフォルトをcache = TRUEに変更し、キャッシュしたくないチャンクを明示的にcache = FALSEに設定してから、グローバルオプションをFALSEに切り替えて何をするかを決めることだと思います。時間が発生したときに必要です。
knitr
は、キャッシュされたオブジェクトを格納するためのディレクトリを作成します。デフォルトでは、cache
と呼ばれます。コードチャンクのcache
設定に関係なく、すべての分析が確実に実行されるようにするには、キャッシュディレクトリの内容を削除するだけです。
したがって、Linux上のRstudioでは
Tools - Shell
_に移動して、マークダウンファイルを含む作業ディレクトリでコンソールを開きます。rm cache/*
_これが現時点での私の基本的なワークフローです
`r opts_chunk$set(cache=TRUE)`
を追加します。dependson
オプション を使用します。名前を付けると、キャッシュディレクトリ内の名前付きRコードチャンクを選択的に削除することもできます。ドキュメントを作成したら遅すぎますが、将来のドキュメントでは、パラメータがknitr
によって評価されるという事実を使用することを検討することをお勧めします。これは、次のようなことができることを意味します。
```{r data.loading.chunk1, cache = cachedata}
blah blah
```
blah blah
```{r model.fitting.chunk1, cache = cachemodels}
blah blah
```
次に、ドキュメントの上部に次のようなものがあります。
```{r libraries.etc, echo=FALSE, results='hide', message=FALSE}
cachedata = TRUE
cachemodels = TRUE
```
これにより、一度に多数のチャンクのキャッシュをすばやくオフにすることができます。