每当我在R中看到关于并行处理的问题时,它都会使用foreach
函数。由于for
环路不是非常类似于R的,是否有平行版本的apply
,如果有的话,它为什么不是更受欢迎?R平行扩展是否打破了“应用”隐喻?
回答
还有的*apply
众多并行版本,在雪开始
parLapply()
多核
mclapply()
在RMPI
以及专用软件包,如papply
mpi.apply()
(可能不再保持)。它们是如此容易使用,那么没有人会问他们有什么问题吗? :-)也许这只是过去几周,但有很多关于这些问题的foreach问题。在SO上搜索这三个结果只能得到mclapply()的结果,而不是那么多。 –
您可以从一份调查报告开始,例如[JSS中的这一份](http://www.jstatsoft.org/v31/i01/paper)。 –
这是一张方便的纸张。 –
@Dirk是正确的。我想补充一点,plyr
包现在支持并行后端。
在plyr
包的情况下,可能会出现这样的情况,因为在并行后端放入数据并不需要考虑:它只是一个标志。
我想你可能是对的,它没有得到任何提及,因为它只是起作用。为什么它不适用于apply?最终,这似乎是一个正确的比喻:让图书馆处理并行化,所有用户所要做的就是决定他们是否想要它平行运行...... –
实际上,这些功能的一部分是相当新的,人们只是开始采用它。 – Iterator
是的,但是foreach似乎是他们中最新的,并且它是获得所有关注的人。 –
- 1. 扩展配置打破应用
- 2. 扩展Perl是打破动态加载
- 3. 是否可以“隐藏”语言扩展?
- 4. 应用面料隐喻天青
- 5. 检测是否安装了Safari扩展
- 6. PHP是否放弃了MySQL扩展?
- 7. Magento商店 - 扩展打破管理
- 8. Ninject OWIN扩展为Web API打破CreatePerOwinContext
- 9. 在Typscript扩展阵列打破构造
- 10. Rails和MVC隐喻
- 11. 隐藏的行打破了activeX选项buttons.located在这些行
- 12. Chrome扩展:如何检测是否使用内容脚本安装了扩展
- 13. AngularFire更新打破了应用程序
- 14. CommandSink背后的隐喻是什么?
- 15. 是否存在用于隐含返回值的GCC扩展?
- 16. 是否可以使用隐式类来扩展build.sbt语法?
- 17. 基于Tegra的设备上的OES_framebuffer_object扩展是否被破坏?
- 18. MVC是否打破封装?
- 19. R平展列联表R
- 20. 反转的视觉隐喻
- 21. 检查用户是否安装了我的Firefox扩展程序
- 22. 检测用户是否安装了我的Chrome扩展程序?
- 23. KO:“Throttle”扩展器是否降低了PausableCompability的有用性?
- 24. 使用Symfony验证是否上传了文件扩展名?
- 25. 比喻展览IE7漏洞
- 26. 扩展了PHP
- 27. 扩展打包应用程序的api?
- 28. 使用.htaccess隐藏扩展
- 29. 是否可以使用自己的Chrome扩展来执行另一个扩展?
- 30. R包的扩展
在我的情况下,'foreach'的吸引力在于它允许我将多个变量传递给函数,选择如何组合结果并且比'apply'等价物更具可读性。我不知道他们在速度方面的差异。 – Backlin
@Backlin:但同样的批评可以用'for'和'apply'(非并行版本)来形容,人们争论这个申请系列。它与速度的东西一样是一种风格的东西...... –