矩阵的循环不跳R
我想这是一个非常简单的问题,但是我不明白为什么我的循环没有跳转: 我有一个预填充矩阵:矩阵的循环不跳R,r,matrix,R,Matrix,我想这是一个非常简单的问题,但是我不明白为什么我的循环没有跳转: 我有一个预填充矩阵: 0 1 2 3 ... 22 1 1/22 1/22 1/22 1/22 .. 1/22 2 1/22 1/22 1/22 1/22.. 3 1/22 .. 22 1/22.. .. 1/22 现在我想要一个矩阵,其中列名代表第一个行数,其中仍然有1/22,其余的替换为1/25: 0 1 2 3 ... 22 1 1/22 1/22
0 1 2 3 ... 22
1 1/22 1/22 1/22 1/22 .. 1/22
2 1/22 1/22 1/22 1/22..
3 1/22
..
22 1/22.. .. 1/22
现在我想要一个矩阵,其中列名代表第一个行数,其中仍然有1/22,其余的替换为1/25:
0 1 2 3 ... 22
1 1/22 1/22 1/22 1/22 .. 1/22
2 1/22 1/25 1/22 1/22..
3 1/22 1/25 1/25 1/22
..1/22 1/25 1/25 1/25
22 1/22.. .. 1/22
我写的这段代码应该从第二列开始运行,但是它只填充第一行
for(i in 2:nrow(Matrix22)){
for(j in 2:ncol(Matrix22)){
Matrix22[i:22,j] <- 1/25
}
}
for(2:nrow(Matrix22)){
对于(j in 2:ncol(Matrix22)){
Matrix22[i:22,j]在本例中,Tensibai的解决方案肯定更好,但要修复原始for循环解决方案,还可以执行以下操作
Matrix22<-matrix(rep(1/22,484),nrow=22,ncol=22)
for(j in 2:ncol(Matrix22)){
Matrix22[j:nrow(Matrix22),j] <- 1/25
}
Matrix22为什么不简单:Matrix22[lower.tri(Matrix22,TRUE)]非常感谢@Tensibai:)谢谢@Niek:)