Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
From | Christopher Baum <kit.baum@bc.edu> |
To | "statalist@hsphsun2.harvard.edu" <statalist@hsphsun2.harvard.edu> |
Subject | re: st: Simulating time series with if else condition |
Date | Tue, 21 Feb 2012 18:09:07 -0500 |
<> Untested, but I think you can replace if fyear==1971{ by id: replace debtlevel_sim=actual_debtlevel /*start with actual debt-level in 1971*/ } else if fyear>1971 & (L.debtlevel_sim+debtissue_sim)<=0 { /*in years following 1971: no negative debt-level*/ by id: replace debtlevel_sim=0 } else { by id: replace debtlevel_sim=L.debtlevel_sim+debtissue_sim with one line: by id: replace debtlevel_sim = cond( fyear==1971, actual_debtlevel, max(0, L.debtlevel_sim+debtissue_sim )) Kit Baum | Boston College Economics and DIW Berlin | http://ideas.repec.org/e/pba1.html An Introduction to Stata Programming | http://www.stata-press.com/books/isp.html An Introduction to Modern Econometrics Using Stata | http://www.stata-press.com/books/imeus.html * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/