我可以理解的是,在更新块时中断了缓存(但是结果应该是相同的,这是外观上的变化)。但是,我不想再次运行该块,因为它需要1周才能运行。如何更改缓存,以便新代码认为该缓存成立?
我想我只需要更改缓存文件夹中的文件名。但是我不知道在不运行代码的情况下将其更改为什么,因为knitr仅在成功完成块之后才写入文件。
另一个动机是,当使用不同的编织器版本时,编织器缓存可能会失效。在开发版本1.5和1.5.33之间发生了这种情况。另请参见此处:R knitr:是否可以在不同计算机上使用缓存的结果?。我认为,如果我找到上述解决方案可以对此有所帮助。
使用knitr缓存存储为期一周的模拟结果听起来有点疯 容易遭受灾难。
我对安全工作流程的建议是:
运行模拟并将结果存储在文件中(csv,rda,任何合适的文件)。
将该数据加载到报表echo = FALSE开始附近的一个块中(可能带有)knitr。
现在,模拟和报告已分离。