2010-07-14 116 views
3

首先,我对坏的描述感到抱歉,但我真的不知道如何更好地解释它,尽管我想要做的事情非常简单。将一列的值加总到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 

是我的输出。

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

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

任何想法?

回答

6

这应该是你的。

apply(mat, 2, cumsum) 

而且,它应该是一般与任意数量的列

+0

没关系,这样更好的回答的基质。这是我不知道R得到的。:) – 2010-07-14 16:38:06

+0

非常感谢。这工作。 – Sebastian 2010-07-14 16:47:57

相关问题