我希望这个问题在这里有意义和适当:
本质上,我在Rmd文件中编写代码,该文件包含一个非常长的循环数据随机化模拟。这个过程需要相当长的时间才能完成(> 2分钟 - 它是一个很大的模拟)。我存储结果,然后使用这些结果在整个Rmd报告中以各种方式进行分析和可视化。
但是,在创建和编辑报告时,我可能希望看到我的代码和文本编辑如何改变html输出。每次执行knitr:html命令时,我都要经历另外2分钟的数据随机化。这显然会令人沮丧地缓慢。
有没有办法在Rmd文件之外执行for循环过程,存储结果,然后将这些结果导入Rmd文件。我很确定Rmd无法从全局环境导入。我想知道是否有人知道这样做的方法?
答案 0 :(得分:3)
使用saveRDS
将模拟结果保存到rds
文件。然后在readRDS
文件的顶部添加对Rmd
的调用。您可能希望在echo = FALSE
的块中执行此操作。
答案 1 :(得分:0)
您要做的是缓存从每个“块”生成的结果
请参阅菜单。
http://yihui.name/knitr/demo/cache/
我希望你使用RStudio,缓存更容易
可替换地,
使用带有R的IPython进行结账。https://www.google.com.au/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=using%20Ipython%20with%20R 默认情况下,IPython中每个单元格中生成的所有数据(不论R / Python)都将缓存在每个单元格中,并可在单元格之间共享。