Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.


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

st: RE: RE: Evaluating a set of conditions


From   "Nick Cox" <[email protected]>
To   <[email protected]>
Subject   st: RE: RE: Evaluating a set of conditions
Date   Wed, 16 Jun 2010 23:58:56 +0100

Martin makes key points here. I'd emphasise his last: internalising that
true expressions evaluate to 1 and false to 0 is often most helpful. A
first tutorial is at 

FAQ     . . . . . . . . . . . . . . . . . . . . . . .  True and false in
Stata
          2/03    What is true and false in Stata?
                http://www.stata.com/support/faqs/data/trueorfalse.html

Nick 
[email protected] 

Martin Weiss

" but I hardly ever use them because  
understanding them (or remembering them) usually takes longer then  
writing the 'lengthy' qualifiers."

-cond- and -inrange- are among the most easily understood functions in
Stata, if you want my take on this. Try Nick and coauthor`s
http://www.stata-journal.com/sjpdf.html?articlenum=pr0016 tutorial on
-cond-
or http://www.stata-journal.com/sjpdf.html?articlenum=dm0026 on
-inrange-. 

Also, you can multiply expressions which can be handy. So if you want
the
running sum only for the cars with bad to average repair record:

***
sysuse auto, clear
sort rep78
gen newvar=sum((rep78<=3)*price)
l rep78 price newvar
***

Thomas Speidel

I realize this is a very broad question and no one solution can fit  
all problems. I am looking for more efficient or elegant alternatives  
to evaluate a set of conditions in Stata, than a lenghty if qualifier.  
E.g.:

do something if A==1 & (B>2 & B<.) & (C==1 | D!=2)

these expression can become lengthy and one can think of more elegant  
ways to come to the same results.
cond and inrange are the first things that come to my mind that may  
(or may not) simplify the problem, but I hardly ever use them because  
understanding them (or remembering them) usually takes longer then  
writing the 'lengthy' qualifiers.
To complicate matters one has to account for missing values.   
Admittedly, this question came about from the recent topic on missing  
values.
If someone want to share an example, please do so.

*
*   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–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index