我正在尝试对矩阵执行以下求和:
假设矩阵是:
mat <- matrix(c(1:5,rep(0,7),c(1:7),rep(0,5),c(1:10), 0,0), 12,3)
我想分别对列号 1、2、3 的行号 5、7、10 的行进行累积求和。(真实数据可以有任意数量的行和列)。
目前,我一直在使用以下代码:
sum1 <- matrix(rep(0, 36), 12, 3)
row_index <- c(5,7,10)
for (k in 1:3) {
sum1[1:row_index[k], k] <- cumsum(mat[1:row_index[k], k])
}
sum1 <- matrix(apply(sum1,1,sum))
首先,我有矩阵和 row_index。我想避免使用循环,因为数据有很多列。我想知道是否有办法做到这一点。