使用矩阵的条目更改矩阵中的条目

Change entries in matrix using entries of the matrix

我试图通过添加相应的条目并将它们除以相应的对角线条目 (tc[i,j]+tc[j,i]) 的总和来使我的矩阵 (tc) 对称(使用 R) )/(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])
      }
    }

这可能是一个非常明显的错误,但我想不通。谁能帮我? =)

好吧,如果你仔细想想,你是在使用你已经更新的值求和(因为你在遍历每个 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])
  }
}