首先,我很抱歉这个糟糕的描述,但我真的不知道如何更好地解释它,虽然我想做的事情非常简单。
实施例: 我有一个矩阵
[,1]
[1,] 0
[2,] 1
[3,] 1
[4,] 0
[5,] 1
[6,] 1
[7,] 0
[8,] 0
[9,] 1
[10,] 0
我希望为列的每一行计算该行的所有元素的总和。
[,1]
[1,] 0
[2,] 1
[3,] 2
[4,] 2
[5,] 3
[6,] 4
[7,] 4
[8,] 4
[9,] 5
[10,] 5
shoule是我的输出。
mat = matrix(c(0,1,1,0,1,1,0,0,1,0), ncol=1)
summed = 0
sumup = apply(mat, 1, function(x){
summed = summed + x
return(summed)
})
以上是我提出的,但它不起作用,因为我不知道如何处理变量范围。
有什么想法吗?
答案 0 :(得分:6)
这应该是你。
apply(mat, 2, cumsum)
并且,对于具有任意列数的矩阵
,它应该是通用的