这是问题的最小表示。假设我有一个矩阵Y
,并且我试图X
根据我对 中的元素执行的操作来填充矩阵Y
。因为Y
是一个大矩阵,我想X
在一个 for 循环中填充相同的矩阵(为了节省时间和更少的数据结构来处理)。这是我到目前为止所拥有的。假设我的第一个 for 循环的条件是正确且必要的。
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
is 109
(这是正确的)但k
仅迭代到5027
or 5028
。换句话说,代码只填充了矩阵的一半。我希望 k 迭代到,10058
以便我可以X
正确填充矩阵。有人可以帮我解决这个问题吗?谢谢