これが問題の最小限の表現です。の要素に対して実行する操作に基づいてY
、マトリックスを作成しようとしているとします。は大きな行列であるため、1 つの for ループで同じ行列を作成したいと考えています (時間を節約し、処理するデータ構造を少なくするため)。これが私がこれまでに持っているものです。最初の for ループの条件が正しく、必要であると仮定します。X
Y
Y
X
Y<- matrix(nrow= 109, ncol = 10064)
X<- matrix(nrow= 109, ncol = 10058)
k<- 1
# I want to start at the 7th column of Y and skip every other column
for (j in seq(7, 10058, 2)){ # this is how I want it to loop; this loops 5029 times
# assign new_values based on the column pairs in Y; ie look in each column pairf of Y
# and create new values based on the columns pairs in Y: Y[,j] and Y[,j+1]
for (i in 1:109){
#if (Y[i,j] == new_value_1){
# X[i,k]<- 0
#}
#else if (Y[i,j] == new_value_2){
# X[i,k]<- 1
#}
#else if (Y[i,j] == new_value_3){
# X[i,k]<- 2
#}
}
k<- k + 1
}
行列の内容は重要ではX
ありY
ません。重要ではnew_values
ありません。私が助けを必要としているのは、マトリックスのインデックスです。X
上記のコードを実行すると、ループの最後i
は109
(これは正しい) ですが、またはk
までしか反復していないことがわかります。言い換えれば、コードはマトリックスの半分しか入力していません。行列を正しく入力できるように、 k を反復処理したいと思います。誰かがこれを修正するのを手伝ってくれますか? ありがとう5027
5028
10058
X