我注意到,对于大型数据集,knitr
编译我的文档需要花费意想不到的长时间:从knitr
完成最后一块到写入 .tex 大约需要 23 分钟。我不明白它为什么花了这么长时间,因为根据日志,这么长的时间跨度发生在
|.................................................................| 100%
inline R code fragments
和
output file: mydocument.tex
[1] "mydocument.tex"
没有knitr
在日志中回显任何内容来表明正在计算什么。
查看文件最后修改时间,似乎最后一个块的缓存在这么长的时间跨度内没有更新。实际上,在此期间,文件夹/子文件夹中没有文件被修改。
在写入 .tex 文件之前要处理什么knitr
?有没有办法通过缓存来加快速度?如果我将其设置cache=TRUE
为默认值,会有帮助吗?
答案1
您可以通过 开启详细模式opts_knit$set(verbose=TRUE)
,然后您将看到调用 后正在计算的内容knit()
。基本上,它会向您显示 中的代码\Sexpr{}
;cache=TRUE
仅适用于代码块,不适用于内联代码。