gpt4 book ai didi

performance - 为什么 R 中的循环很慢?

转载 作者:行者123 更新时间:2023-12-03 05:11:54 25 4
gpt4 key购买 nike

我知道 R 中的循环速度很慢,我应该尝试以矢量化方式执行操作。

但是,为什么呢?为什么循环很慢而apply却很快? apply 调用几个子函数——这看起来并不快。

更新:抱歉,这个问题提出得不恰当。我混淆了矢量化和apply。我的问题应该是,

“为什么矢量化速度更快?”

最佳答案

并不总是循环很慢而apply很快。 May, 2008, issue of R News对此有很好的讨论。 :

Uwe Ligges and John Fox. R Help Desk: How can I avoid this loop or make it faster? R News, 8(1):46-50, May 2008.

在“循环!”部分中(从第 48 页开始),他们说:

Many comments about R state that using loops is a particularly bad idea. This is not necessarily true. In certain cases, it is difficult to write vectorized code, or vectorized code may consume a huge amount of memory.

他们进一步建议:

  • Initialize new objects to full length before the loop, rather than increasing their size within the loop.
  • Do not do things in a loop that can be done outside the loop.
  • Do not avoid loops simply for the sake of avoiding loops.

他们有一个简单的示例,其中 for 循环需要 1.3 秒,但 apply 内存不足。

关于performance - 为什么 R 中的循环很慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7142767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com