对角线上/下矩阵的行和

标签 r matrix diagonal rowsum

我想计算上/下三角矩阵(带对角线)的行/列总和。示例:

m <- matrix(1:9, nrow=3)
#result:
upperRowSums(m)
## [1] 12 13 9
lowerRowSums(m)
## [1] 1 7 18

我知道这可以通过简单的 for 循环来完成,但我想避免这种情况。我正在寻找纯 R 解决方案。

最佳答案

一种方法:

rowSums(m * upper.tri(m, diag=TRUE))
#[1] 12 13  9

关于对角线上/下矩阵的行和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24480220/

相关文章:

css - 对 Angular 渐变和替代品中的平滑线

r - 使用map_if省略NA和空数据帧

r - 因子分析中的错误 - 起始值

r - 聚合二进制矩阵中每 10 列

java - 如何在Java中将二维数组保存到文件中?

java - 如何从左上角到右下角对角迭代二维数组

r - 如何操作tmap图例?

r - 如何动态 "mutate"R 中的数据帧?

arrays - 矩阵中基于向量的消除零点

python - 返回 scipy 稀疏矩阵的对角线元素