总结矩阵的元素

时间:2014-08-21 12:53:29

标签: r

我有一个矩阵,我想要在不包括对角线的情况下对元素求和。假设,

 matrixDat <- matrix(1:25, ncol=5)
 colnames(matrixDat) <- c("A", "B", "C", "D", "E")
  rownames(matrixDat) <- c("A", "B", "C", "D", "E")

我期望的结果是:

c(2+6, 3+11, 4+16, 5+21, 8+12, 9+17, 10+22, 14+18, 15+23, 20+24)

即。总结第一行和第一列没有1.一旦完成,删除第一行和第一列,从第二行和第二列开始,然后删除它,用第三行,第三列进行处理,直到它到达第五行,fith专栏。

1 个答案:

答案 0 :(得分:4)

尝试:

     indx <- lower.tri(matrixDat)
     matrixDat[indx]+t(matrixDat)[indx]
     #[1]  8 14 20 26 20 26 32 32 38 44

或者,你可以做一个循环

    vec1 <- vector()
    for(i in 1:ncol(m1)){
    vec1 <- c(vec1,matrixDat[,i][-(1:i)]+matrixDat[i,][-(1:i)])
     }

     unname(vec1)
     #[1]  8 14 20 26 20 26 32 32 38 44