Knitr在RStudio中同时编译和运行所有内容

时间:2017-12-10 00:53:09

标签: r rstudio knitr

要在RStudio中运行Rnw文件,可以编译 或运行所有。编译不会在当前环境中看到变量,并且当前环境看不到编译时创建的变量。我想看看编译时输出的样子,并使用环境调试代码。这需要我编译运行,它执行两次相同的计算,这对大型项目来说非常不切实际。有没有办法编译并在环境中看到输出?

1 个答案:

答案 0 :(得分:1)

编织文档时,工作在不同的R会话中进行,这就是您无法在当前会话中检查结果的原因。

但除了全部运行之外,你还有很多选择。看看“运行”按钮:它允许您一次运行一个块,或运行所有以前的块等。

如果你的某些块运行时间过长,那么你应该考虑以不同的方式组织你的工作。将长计算放入自己的脚本中,并使用save()保存该脚本的结果。运行一次,然后花时间在主.Rnw文档中多次运行中编辑这些结果的显示。

最后,如果您真的想在插图运行结束时看到变量,可以在最后添加save.image(file = 'vignette.RData'),并在交互式会话中使用load('vignette.RData')加载值检查。这不一定能让您准确了解运行结束时的状态,因为除了您已在工作区中获得的任何内容之外,它还会加载值,它不会加载选项设置或附加包,但它可能足以进行调试。