【问题标题】:How to deal with matrix using the matrix itself in R如何在R中使用矩阵本身来处理矩阵
【发布时间】:2021-12-13 16:18:57
【问题描述】:

我有一个这样的矩阵:

matrix_A <- matrix(c(0,0,1,1,1,0,1,0,1,0,1,1), nrow=3,ncol=4)

如何通过对矩阵本身进行一些操作来获得一个新矩阵。我想得到的新矩阵是这样的: 第一行是(其他行 * 第一行)的 sum,而不是 %*%。第二行是(其他行*第二行)等的总和。例如,新矩阵的第一行将被处理为: (原第二行)*(原第一行),即[0 1 0 0] +(原第三行)*(原第一行),即[0 0 1 0] ,那么我们将得到最终结果,即 [0,1,1,0] 。 这个例子的最终新矩阵应该是:

 0 1 1 0
 0 1 0 1
 0 0 1 1

这里只是以一个小矩阵为例,它实际上可能很大,但所有元素都是0和1。

【问题讨论】:

    标签: r matrix


    【解决方案1】:
    ta <- t(matrix_A)
    t(sapply(seq(ncol(ta)), function(j) rowSums(ta[,j]*ta[,-j])))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-12
      相关资源
      最近更新 更多