I understand that I can use the cache=TRUE option to cache an R code chunk using R Markdown with knitr. E.g., It might look something like this:
```{r longanalysis, cache=TRUE}
for (i in 1:5000) {
lm((i+1)~i)
}
```
And I realise that If I wanted to disable the cache for that analysis that I could change the option to cache=FALSE in the code chunk. However, if I have many R code chunks with caching enabled, this would require a careful find and replace operation.
Question
- Is there a way of temporarily setting
cache=FALSEfor an entire R Markdown document?
Comments
I’ve seen this example where the first line is. So I imagine this is a way of setting global setting, but I think local settings override global settings.
`r opts_chunk$set(fig.width=5, fig.height=5, fig.path='')`
It seems the default is set to FALSE and local chunk options override the global options but one thing you could do is set the global options to cache by default by adding this to the top of your document
Then for the sections you don’t want cached ever you would explicitly set those sections to cache=FALSE.
Then if you want to set the whole document to not cache anything you could change the global option to FALSE and rerun it.
The problem is that if any of the chunk options are set to cache=TRUE then those will override the global setting and won’t be rerun if you set the global option to FALSE. So I think the only way to achieve what you want is to change the default to cache=TRUE, explicitly set chunks that you don’t want cached to have cache=FALSE, and then you can switch the global option to FALSE to do what you want when the time occurs.