2014-06-29 74 views
2

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

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

我知道,这可能是与简单for回路来完成,但我想避免这种情况。我正在寻找纯粹的R解决方案。

回答

4

道:

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

不错!谢谢:) – bartektartanus

+5

对于那些不确定'T'引用,以扩展形式这是:'rowSums(m * upper.tri(m,diag = TRUE))' – thelatemail