[R] Formula that includes previous row values

Greg Snow Greg.Snow at imail.org
Mon Feb 23 23:30:08 CET 2009


How about:

x3 <- cumsum( x2* 0.24^(5:0) ) / 0.24^(5:0)

with the 5 replaced by the length -1 for the more general case.

-- 
Gregory (Greg) L. Snow Ph.D.
Statistical Data Center
Intermountain Healthcare
greg.snow at imail.org
801.408.8111


> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-
> project.org] On Behalf Of Pele
> Sent: Monday, February 23, 2009 1:59 PM
> To: r-help at r-project.org
> Subject: [R] Formula that includes previous row values
> 
> 
> Hi R users,
> 
> Is there an easy way in R to generate the results table below using
> table 1
> and the formula (simplified version of the real problem)?  It would be
> easy
> if I knew the R equivalent of SAS's retain function, but could not find
> one.
> 
> Thanks in Advance for any help!
> 
> table1:
> 
> ID	X2	   X3
> 1.00	1.00	   0
> 2.00	0.00
> 3.00	1.00
> 4.00	3058
> 5.00	0.00
> 6.00	6.00
> 
> Formula: X3 = x2 + (.24 * x3)
> 
> where the values in the x3 column of the result table are retained from
> previous x3 rows.. Also the first x3 value is initialized to 0 to start
> 
> e.g.
> 	for ID=1 we have  1 + .24(0) 		        = 1.00
> 	for ID=2 we have  0 + .24(1) 		        = 0.24
> 	for ID=3 we have  1 + .24(.24) 		= 1.06
> 	for ID=4 we have  3058 + .24(1.06) 	= 3058.25
>         etc.............
> 
> Results:
> ID	X2	x3
> 1.00	1.00	1.00
> 2.00	0.00	0.24
> 3.00	1.00	1.06
> 4.00	3058 	3058.25
> 5.00	0.00	733.98
> 6.00	6.00	182.16
> --
> View this message in context: http://www.nabble.com/Formula-that-
> includes-previous-row-values-tp22170010p22170010.html
> Sent from the R help mailing list archive at Nabble.com.
> 
> ______________________________________________
> 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.




More information about the R-help mailing list