[程式] R的迴圈
[軟體程式類別]: R
[程式問題]: 計算速度
[軟體熟悉度]: 中(3個月到1年)
[問題敘述]:
請問一下
R的迴圈很慢這個缺點
有沒有什麼好方法可以克服?
我知道用 x[ 1:54575 , ]
再配上矩陣專用的 row or col function 可以算很快
但是每次都要避免使用迴圈實在是很痛苦也很不靈活
常常寫了迴圈
然後跑了老半天在等的時候
才想出比較快的寫法
請問有什麼幫迴圈加速的辦法嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.177.165
※ 編輯: gsuper 來自: 140.113.177.165 (02/10 01:01)
※ 編輯: gsuper 來自: 140.113.177.165 (02/10 01:03)
※ 編輯: gsuper 來自: 140.113.177.165 (02/10 01:04)
推
02/10 01:10, , 1F
02/10 01:10, 1F
→
02/10 01:21, , 2F
02/10 01:21, 2F
→
02/10 01:22, , 3F
02/10 01:22, 3F
推
02/10 01:27, , 4F
02/10 01:27, 4F
→
02/10 12:40, , 5F
02/10 12:40, 5F
→
02/10 12:42, , 6F
02/10 12:42, 6F
→
02/10 12:45, , 7F
02/10 12:45, 7F
不好意思
這投影片應該已經是很新手取向了
不過我還是沒辦法直覺的使用
可否舉個例子給我看?
比方說
手上有個 50000 * 10 的矩陣
目的是要算 rowmeans
迴圈寫法 (約10分鐘)
meanVector <- as.vector(NULL)
i=1
for(i in 1:50000)
{
meanVector <- c( meanVector , mean(x[i,]) )
}
x <- cbind (x,meanVector)
rm(i,meanVector)
這樣要怎麼用投影片的 function 去轉阿?
###### 我知道 rowMeans() 這個 function ######
###### 這裡只是舉例 , 0rz ######
※ 編輯: gsuper 來自: 140.113.239.247 (03/01 20:48)
※ 編輯: gsuper 來自: 140.113.239.247 (03/01 20:49)
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
程式
2
7