2015-10-01 109 views
0

我想通过添加相应的条目来将我的矩阵(tc)对称(使用R)并将它们除以相应对角条目(tc [i,j] + TC [J,I])/(TC [I,I] + TC [J,J])。我试过用循环,但它并没有给我正确的值,更不用说使矩阵对称。这是我的代码到目前为止:使用矩阵条目改变矩阵中的条目

for (i in 1:end){ 
     for(j in 1:end){ 
     tc[i,j]<-(tc[i,j]+tc[j,i])/(tc[i,i]+tc[j,j]) 
     } 
    } 

这可能是一个非常明显的错误,但我无法弄清楚。谁能帮我? =)

+1

请提供一个可重现的例子 –

+0

什么是tc?你可以使用命令dput吗? –

回答

0

那么,如果你考虑一下,你正在使用你已经更新过的值进行求和(因为你正在遍历每个i和j)。

如果您制作一个尺寸与tc相同的新矩阵,然后运行循环,该怎么办?

newTc <- matrix(0, nrow=nrow(tc), ncol=ncol(tc)) 
for (i in 1:end){ 
    for(j in 1:end){ 
    newTc[i,j]<-(tc[i,j]+tc[j,i])/(tc[i,i]+tc[j,j]) 
    } 
} 
+0

我今天早上真的这样做了,你的解释很有道理。我没有这么想过,当然你完全正确!谢谢! – Linalein