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]) = c(2,5). Cheers, Bert On Mon, Sep 26, 2022 at 7:43 AM Jinsong Zhao <jsz...@yeah.net> wrote: > > 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,] 7 9 11 13 15 > > apply(m, 2, cumsum) > [,1] [,2] > [1,] 1 6 > [2,] 3 13 > [3,] 6 21 > [4,] 10 30 > [5,] 15 40 > > My question is why the dim of the return value of apply(m, 1, cumsum) is > not 5x2, but 2x5. > > Best, > > Jinsong > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.