【问题标题】:Should "while loops" be preferred to "for loops" for large, necessary loops in R?对于 R 中的大型必要循环,“while 循环”是否应该优于“for 循环”?
【发布时间】:2010-11-17 08:36:06
【问题描述】:

意识到循环在 R 中通常并不理想,有时它们是必要的。

写大循环时,不

for (i in 1:large_number) 

浪费内存,因为必须创建大小为 large_number 的向量?

这会使 while 循环成为大型必要循环的最佳选择吗?

【问题讨论】:

    标签: r loops for-loop while-loop


    【解决方案1】:

    首先,很多“循环不好”的讨论源于黑暗时代,当时循环实际上实现效率较低,尤其是在某些版本的 S-Plus 中。

    也就是说,虽然您关于需要大型索引对象的评论是正确的,但您也可以使用

    作为额外的好处,选项 1 和 2 提供了在合适的系统上使用 CRAN 包 snow、multicore 或 NWS 中的工具并行执行循环的路径,仅举几例。

    【讨论】:

    • Dirk,我最近阅读了 Ihaka & Lang 的一篇论文(“回到未来:Lisp 作为统计计算系统的基础)”,其中 R 循环与 Python 相比是不利的。与 CLOS 相比,它们都比较慢。我在四处询问 R 是否会成为一种功能语言。你怎么看??
    • 这里没有添加见解,抱歉。一方面,您拥有 R 的庞大用户群并且需要向后兼容,另一方面您希望尝试新功能。我认为变化只会是进化的,而不是革命性的。
    猜你喜欢
    • 1970-01-01
    • 2011-05-11
    • 2013-06-28
    • 2020-05-15
    • 2023-03-02
    • 2021-06-29
    • 1970-01-01
    • 1970-01-01
    • 2019-01-13
    相关资源
    最近更新 更多