Суммируйте значения для одного столбца в определенной строке в R - PullRequest
3 голосов
/ 14 июля 2010

Прежде всего я прошу прощения за плохое описание, но я действительно не знаю, как объяснить это лучше, хотя то, что я хочу сделать, действительно просто.

Пример: У меня есть матрица

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

Вышесказанное - это то, что я придумал, но оно не работает, потому что я не знаю, как обращаться с областью действия переменной.

Есть идеи?

1 Ответ

6 голосов
/ 14 июля 2010

это должно сделать тебя.

apply(mat, 2, cumsum)

И, это должно быть общим для матрицы с любым количеством столбцов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...