Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
From | Thomas Speidel <thomas@tmbx.com> |
To | statalist@hsphsun2.harvard.edu |
Subject | st: Evaluating a set of conditions |
Date | Tue, 22 Jun 2010 17:09:57 -0600 |
I have a number of dummies: a, b, c, d, e (missing values do exist) Disease=true if the following conditions are met: 1) a must be true AND 2) any two of b, c, d, e are trueAs I said missing values are crucial, especially when evaluating the second condition.
My current program works, but I don't think it is efficient and it probably does things that are unnecessary:
******************************************* egen anytwo = rowtotal(a b c d e), missing egen missing = rowmiss(a b c d e) replace anytwo = . if (anytwo==0 & missing>=2 & missing<.) replace anytwo = . if (anytwo==1 & missing==1) replace anytwo = . if (anytwo==1 & missing==3) replace anytwo = . if (missing>=4) gen disease = 1 if (a==1 & anytwo>=2 & anytwo<.) replace disease = 0 if (a==1 & anytwo<2) replace disease = 0 if a==0 replace disease =. if a==. *******************************************I tried to play around with cond, but I found it was making this much more complicated then it is. I know I am complicating my life more than I need to which is why I am looking for alternative solutions.
-- Thomas Speidel * * 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/