■
行列計算を使って高速化.
要素が数字の配列a[i]を使うときには,ループの前に初期化しておくと処理が早い.
a <- null として,初期化するよりもa<- numeric(n)と,配列の中身が数字だよ,と提示.
でももっと早いのはループ(for文)を使わずに,ベクトル単位で処理すること.
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
#Loop
for(i in 1:n) a[i] <- i^2
#Vector unit
a <- (1:n)^2
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
計算結果は同じでもかかる時間がずいぶん異なる.
また,同様に行列の平均や和の場合には,
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
#Loop
for(i in 1:n) a[i] <- mean(a[i,])
#Vector unit
a <- rowMeans(Total)
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-