r - 连续一些位置的总和 - R

标签 r matrix sum

考虑一个通用矩阵 nxn - 例如:

A <- matrix(1:16, nrow = 4, ncol = 4)

如何计算“右下”三角形中行的总和并在向量中显示信息?

example

最佳答案

找到封装所需数据的掩码:

> mask <- apply(lower.tri(A, diag = FALSE), 1, rev)
> mask
      [,1]  [,2]  [,3]  [,4]
[1,] FALSE FALSE FALSE FALSE
[2,] FALSE FALSE FALSE  TRUE
[3,] FALSE FALSE  TRUE  TRUE
[4,] FALSE  TRUE  TRUE  TRUE

乘以这个掩码并计算总和:
> A * mask
     [,1] [,2] [,3] [,4]
[1,]    0    0    0    0
[2,]    0    0    0   14
[3,]    0    0   11   15
[4,]    0    8   12   16

>  rowSums(A * mask)
[1]  0 14 26 36

关于r - 连续一些位置的总和 - R,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47732085/

相关文章:

c++ - vector<vector<double>> 是制作矩阵类的好方法吗?

c - 将二维数组划分为所有可能的 nxn 正方形

r - 带有 sec.axis 的 ggplot 的 Y 限制

具有私有(private) github 依赖项的 R 包

python - 有什么简单的方法可以在 python 中稀疏地存储具有冗余模式的矩阵?

perl - 如何在perl中添加小时,分钟,秒

matlab - Matlab sum : The expression to the left of the equals sign is not a valid target for an assignment

java - 为什么不能总是正确地对两个浮点值求和?

r - 如何将 data.table 列发送到函数

R Shiny 的自定义功能