将一列的值汇总到R中的某一行

时间:2010-07-14 16:32:28

标签: r

首先,我很抱歉这个糟糕的描述,但我真的不知道如何更好地解释它,虽然我想做的事情非常简单。

实施例: 我有一个矩阵

      [,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)
})

以上是我提出的,但它不起作用,因为我不知道如何处理变量范围。

有什么想法吗?

1 个答案:

答案 0 :(得分:6)

这应该是你。

apply(mat, 2, cumsum)

并且,对于具有任意列数的矩阵

,它应该是通用的