[R] inverse cumsum

Wacek Kusnierczyk Waclaw.Marcin.Kusnierczyk at idi.ntnu.no
Wed Jun 18 12:37:12 CEST 2008


Alfredo Alessandrini wrote:
> I've a matrix like this:
>
> 1985     1.38     1.27     1.84     2.10     0.59     3.47
> 1986     1.05     1.13     1.21     1.54     0.21     2.14
> 1987     1.33     1.21     1.77     1.44     0.27     2.85
> 1988     1.86     1.06     2.33     2.14     0.55     1.40
> 1989     2.10     0.65     2.74     2.43     1.19     1.45
> 1990     1.55     0.00     1.59     1.94     0.99     2.14
> 1991     0.92     0.72     0.50     1.29     0.54     1.22
> 1992     2.15     1.28     1.23     2.26     1.22     3.17
> 1993     1.50     0.87     1.68     1.97     0.83     2.55
> 1994     0.69     0.00     0.76     1.89     0.60     0.87
> 1995     1.13     1.04     1.19     1.52     1.13     1.78
>
> Can I utilise a cumsum inverse? from 1995 to 1985?
>   
i guess you mean columnwise cumsums computed starting from the bottom up?
then this should do (given that your data is in matrix m, and years are
row labels, not data):

rc = nrow(m)
cumsums = apply(m[rc:1,], 2, cumsum)[rc:1,]

vQ



More information about the R-help mailing list