Bookmark and Share

Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down at the end of May, and its replacement, statalist.org is already up and running.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: st: Simulating time series with if else condition


From   mweberru@students.mail.uni-mannheim.de
To   statalist@hsphsun2.harvard.edu, Nick Cox <njcoxstata@gmail.com>
Subject   Re: st: Simulating time series with if else condition
Date   Wed, 22 Feb 2012 19:20:27 +0100

Thank you very much for the replies, both answers were really helpful!
I replaced the whole part with the single line suggested by Ch. Baum and the results are just as desired.

Regards,
M. Weber




Zitat von Nick Cox <njcoxstata@gmail.com>:

A separate issue is that

if fyear == 1971 {

}

else if fyear > 1971 ...

will always be interpreted as

if fyear[1] == 1971 {

}
else if fyear[1] >= 1971 ...

which is presumably not what is wanted. So the code not only can but
also should be rewritten. See also

FAQ . . . . . . . . . . . . . . . . . . . . . if command vs. if qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . J. Wernow
        6/00    I have an if command in my program that only seems
                to evaluate the first observation, what's going on?
                http://www.stata.com/support/faqs/lang/ifqualifier.html

Nick

On Tue, Feb 21, 2012 at 11:09 PM, Christopher Baum <kit.baum@bc.edu> wrote:
<>
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 ))


*
*   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/





*
*   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/


© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index