每當我在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. 擴展器是否破壞OxyPlot?
- 4. history.replaceState是否打破了XUL應用程序和插件?
- 5. 是否可以「隱藏」語言擴展?
- 6. 應用面料隱喻天青
- 7. PHP是否放棄了MySQL擴展?
- 8. 檢測是否安裝了Safari擴展
- 9. Magento商店 - 擴展打破管理
- 10. Ninject OWIN擴展爲Web API打破CreatePerOwinContext
- 11. 在Typscript擴展陣列打破構造
- 12. 擴展Mongo.Collection打破find()方法
- 13. Rails和MVC隱喻
- 14. 隱藏的行打破了activeX選項buttons.located在這些行
- 15. Chrome擴展:如何檢測是否使用內容腳本安裝了擴展
- 16. 「擴展」是否也擴展變量?
- 17. CommandSink背後的隱喻是什麼?
- 18. AngularFire更新打破了應用程序
- 19. 是否存在用於隱含返回值的GCC擴展?
- 20. 是否可以使用隱式類來擴展build.sbt語法?
- 21. 基於Tegra的設備上的OES_framebuffer_object擴展是否被破壞?
- 22. Visual Studio代碼擴展生成器是否被破壞?
- 23. MVC是否打破封裝?
- 24. CakeDC用戶插件打破擴展用戶時控制器
- 25. Python中的隱喻解析
- 26. 反轉的視覺隱喻
- 27. 比喻展覽IE7漏洞
- 28. 檢查用戶是否安裝了我的Firefox擴展程序
- 29. 您是否在Azure中啓用了php_fileinfo擴展
- 30. KO:「Throttle」擴展器是否降低了PausableCompability的有用性?
在我的情況下,'foreach'的吸引力在於它允許我將多個變量傳遞給函數,選擇如何組合結果並且比'apply'等價物更具可讀性。我不知道他們在速度方面的差異。 – Backlin
@Backlin:但同樣的批評可以用'for'和'apply'(非並行版本)來形容,人們爭論這個申請系列。它與速度的東西一樣是一種風格的東西...... –