Re: [R] inverse cumsum

From: Alfredo Alessandrini <alfreale74_at_gmail.com>
Date: Wed, 18 Jun 2008 18:38:16 +0200

> i guess you mean columnwise cumsums computed starting from the bottom up?

yes

> 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,]

ok...work very well..

>data

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
1996     1.15     0.92     1.50     0.97     0.60     0.00

>apply(m[rc:1,], 2, cumsum)[rc:1,]

1987    14.38     7.75    15.29    17.85     7.92    17.43
1988    13.05     6.54    13.52    16.41     7.65    14.58
1989    11.19     5.48    11.19    14.27     7.10    13.18
1990     9.09     4.83     8.45    11.84     5.91    11.73
1991     7.54     4.83     6.86     9.90     4.92     9.59
1992     6.62     4.11     6.36     8.61     4.38     8.37
1993     4.47     2.83     5.13     6.35     3.16     5.20
1994     2.97     1.96     3.45     4.38     2.33     2.65
1995     2.28     1.96     2.69     2.49     1.73     1.78
1996     1.15     0.92     1.50     0.97     0.60     0.00

Now, can move the cumsum of 1 row? For obtain a this:

1986    14.38     7.75    15.29    17.85     7.92    17.43
1987    13.05     6.54    13.52    16.41     7.65    14.58
1988    11.19     5.48    11.19    14.27     7.10    13.18
1989     9.09     4.83     8.45    11.84     5.91    11.73
1990     7.54     4.83     6.86     9.90     4.92     9.59
1991     6.62     4.11     6.36     8.61     4.38     8.37
1992     4.47     2.83     5.13     6.35     3.16     5.20
1993     2.97     1.96     3.45     4.38     2.33     2.65
1994     2.28     1.96     2.69     2.49     1.73     1.78
1995     1.15     0.92     1.50     0.97     0.60     0.00
1996     0.00     0.00     0.00     0.00     0.00     0.00




thanks...

Alfredo



R-help_at_r-project.org mailing list
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. Received on Wed 18 Jun 2008 - 18:51:21 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Wed 18 Jun 2008 - 19:30:51 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive