[程式] R 的迴圈速度問題

看板Statistics作者 (柴人)時間16年前 (2009/10/31 15:41), 編輯推噓1(103)
留言4則, 4人參與, 最新討論串1/1
------------------------------------------------------------------------ [軟體程式類別]: 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

10/31 16:27, , 1F
你可以測測看 我猜會一樣吧
10/31 16:27, 1F

10/31 19:20, , 2F
for/while/repeat一樣慢.
10/31 19:20, 2F

11/01 00:27, , 3F
差不了多少..除非很閒去寫C再call
11/01 00:27, 3F

11/01 03:16, , 4F
這點小差異不會影響多少, 重點還是在 loop 內怎麼寫.
11/01 03:16, 4F
文章代碼(AID): #1Aw-eCCQ (Statistics)