I know this can be done in a loop, but am curious if (i) I missed some built-in way of doing this or (ii) am doing it inefficiently somehow. Here are two loop approaches that give the desired output:
Code:
x = (150, 20, 10 \ 10, 20, 30 \ 30, 10, 10 )
nr = rows(x)
nc = cols(x)
xcol_rsum = J(nr,nc,0)
rsumi = J(1,nc,0)
for (i=1;i<=nr;i++){
rsumi = rsumi + x[i,]
xcol_rsum[i,] = rsumi
}
// alternately
xcol_rsum2 = J(nr,nc,0)
for (j=1;j<=nc;j++) xcol_rsum2[,j] = runningsum(x[,j])
