Bert provided an excellent answer to your question.
FYI here is a different approach to do the calculation.
It uses data.frame rather than matrix. A data frame is a list of its columns.
Here the function supplied to sapply operates on each column of the data.frame.
> m <- as.data.frame(t(matrix(1:
from ?apply:
"If each call to FUN returns a vector of length n, and simplify is
TRUE, then apply returns an array of dimension c(n, dim(X)[MARGIN]) ."
For margin = 1 (cumsum over rows), each call to cumsum return a vector
of length 2. Hence the array returned will be of dimension c(2,
c(5,2)[1]) =
Hi there,
I try to calculate the cumsum of row and column of a matrix as follows.
> m <- matrix(1:10, ncol = 2)
> m
[,1] [,2]
[1,] 1 6
[2,] 2 7
[3,] 3 8
[4,] 4 9
[5,] 5 10
> apply(m, 1, cumsum)
[,1] [,2] [,3] [,4] [,5]
[1,] 1 2 3 4 5
[2,]
3 matches
Mail list logo