使用矩阵

时间:2015-10-01 16:30:35

标签: r loops matrix symmetric

我试图通过添加相应的条目使我的矩阵(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 :(得分: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])
  }
}