如何异步处理编织代码块?

我想知道是否有一种方法可以异步处理RMarkdown文档中的 knitr 代码块。

这就是我的想法:想象一个包含复杂数据分析的文档,该文档分为几个代码块,其中一些包含复杂的代码,因此运行缓慢。这些代码块彼此之间没有任何依赖关系,它们的输出要么是绘图,表格,要么是其他数值结果,但不是任何其他代码块使用的任何数据对象。

如果我可以并行化这些代码块的处理,那就太好了。通常,编织器按顺序处理每个代码块,因此,可能有多个代码块被滞留在处理速度慢的代码块后面的队列中。像 future promises 这样的R包支持异步编程,我想知道是否可以利用它来并行处理 knitr 代码块。同样的方法。我知道我可以将慢速代码块放在单独的Rmd文件中,然后在knitr::knit_child调用中放在代码块调用future::future_map中,但是最好将所有内容保持在同一位置文件。我也知道可以在代码块中使用child选项指定子文档。而且,我知道可以通过使用ref.label选项按名称调用代码块来重用它们。因此,我想知道的是,是否有任何方法可以劫持任何此功能(可能使用未来),以便在执行传递到后续代码块时延迟代码块输出的呈现。或类似的东西。只是探索超越 knitr 中的代码块的顺序计算并使用多核或多会话处理的可能性的空间。

kay3320 回答:如何异步处理编织代码块?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3165599.html

大家都在问