作者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