行列の各要素に色々な処理をするとき、Rには列単位などで関数を適用する apply() 関数などが存在する。
しかし、要素ごとの処理に細かく条件をつけたい場合などがあるかもしれない。
その場合は素直に行数・列数ぶんだけループ処理をする方がよいだろう。
対象とする行列を x とおくと、以下のように2重ループをつくればよい。
for(i in 1:nrow(x)) {
for(j in 1:ncol(x)) {
# 何らかの処理
}
}
nrow() は行数、ncol() は列数を取得する関数。
外側で行数ぶん回し、内側で列数ぶん回すというループだが、目的によっては外側と内側を逆にしてもよい。