智能缓存R Markdown

时间:2018-04-18 23:44:26

标签: r r-markdown knitr

Knitr提供了使用cache=TRUE选项缓存块输出的选项。如果脚本包含大量不经常需要更新的处理,这非常有用。

但是,只有更改了块中的代码或删除了缓存文件时,才会更新缓存。这并不总是理想的,因为可能存在一个缓慢的过程,它依赖于在块之外指定的选项。

是否可以让缓存检查以查看块中使用的输入参数,并更新这些参数是否已更改?

实施例

这是一个最小的例子:

---
output: pdf_document
---

```{r}
x <- "Title 1"
```

```{r cars, cache=TRUE}
plot(cars, main = x)
```

第一次运行时,会输出下图。如果我们将x的值更改为其他内容,例如Title 2,则不会在第二次运行时更新图表的标题。

enter image description here

在我的理想解决方案中,knitr会检测到x的值发生更改,从而刷新缓存。

从我所看到的,文档中的这些行没有提及:https://yihui.name/knitr/options/#cache

0 个答案:

没有答案