r - 矩阵用一填充零行

标签 r matrix linear-algebra

我有一个邻接矩阵 A:

    [1] [2] [3]
[1]  1   0   1
[2]  0   0   0
[3]  0   0   0

我想要一个新的矩阵 B,在所有行中都填充一个,只有零,所以 B:

    [1] [2] [3]
[1]  0   0   0
[2]  1   1   1
[3]  1   1   1

我该怎么做才能做到这一点

最佳答案

由于邻接矩阵是非负的,您可以只测试零 rowSums:

A <- matrix(c(1, 0, 1, 
              0, 0, 0, 
              0, 0, 0), byrow = TRUE, nrow = 3)

B <- A * 0  # 0-matrix same dimensions as A
B[rowSums(A) == 0, ] <- 1

关于r - 矩阵用一填充零行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47953165/

相关文章:

algorithm - 寻找科赫曲线的坐标

r - 使用 spplot 通过两个属性(通过颜色和符号)区分空间点

r-投资组合优化-Solve.QP-约束不一致

matlab - 用另一个矩阵的元素替换矩阵的某些元素[Matlab/Octave]

c++ - 以不同的方式将两个矩阵相乘 - 不知道该怎么做

graphics - 光线追踪:何时对矢量进行归一化?

r - 如何根据另一个数据表中的条件从数据表中删除行

r - 为什么 dplyr 无法按行生成结果?

matrix - Jenkins 矩阵构建。升级后组合过滤器 groovy 脚本失败

matlab - 为什么在 Matlab 脚本中使用 gpuArray 时 a*b*a 比 (a'*(a*b )')' 花费的时间更长?