作者Wush978 (柴人)
看板Statistics
标题[程式] R 的回圈问题
时间Sat Oct 31 15:40:57 2009
------------------------------------------------------------------------
[软体程式类别]:
R
[程式问题]:
回圈
[软体熟悉度]:
中(3个月到1年)
[问题叙述]:
由於 R 的 for 回圈跑得很慢, 导致平常在用的时候我都尽量用 outer, apply之类的指令
我并不清楚for 回圈这麽慢的原因 (听说 c 语言的 for 回圈就快多了 )
之前和一个资工系的同学聊天, 他解释到 python 语言 for 回圈慢的理由牵扯到记忆体
我之前也听说 R 的 for 回圈也有记忆体的问题 (听说的, 不确定)
於是我想说, 如果我改成在 R 内部用 while 来写回圈的话, 那速度会比 for 回圈快嘛?
甚至可以和 outer, apply 之类的指令一样快嘛?
[程式范例]:
for (i in 1:N) {....}
改写成
i <- 1
while ( i <= N ) {....; i <- i + 1}
两种回圈写法的比较
-----------------------------------------------------------------------------
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.114.36.80
1F:→ west1996:你可以测测看 我猜会一样吧 10/31 16:27
2F:→ clickhere:for/while/repeat一样慢. 10/31 19:20
3F:推 bugle:差不了多少..除非很闲去写C再call 11/01 00:27
4F:→ andrew43:这点小差异不会影响多少, 重点还是在 loop 内怎麽写. 11/01 03:16