Knitr提供了使用cache=TRUE
选项缓存块输出的选项。如果脚本包含大量不经常需要更新的处理,这非常有用。
但是,只有更改了块中的代码或删除了缓存文件时,才会更新缓存。这并不总是理想的,因为可能存在一个缓慢的过程,它依赖于在块之外指定的选项。
是否可以让缓存检查以查看块中使用的输入参数,并更新这些参数是否已更改?
这是一个最小的例子:
---
output: pdf_document
---
```{r}
x <- "Title 1"
```
```{r cars, cache=TRUE}
plot(cars, main = x)
```
第一次运行时,会输出下图。如果我们将x
的值更改为其他内容,例如Title 2
,则不会在第二次运行时更新图表的标题。
在我的理想解决方案中,knitr
会检测到x
的值发生更改,从而刷新缓存。
从我所看到的,文档中的这些行没有提及:https://yihui.name/knitr/options/#cache