Stata The Stata listserver
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

st: RE: newbie if {} else {} question


From   "Nick Cox" <n.j.cox@durham.ac.uk>
To   <statalist@hsphsun2.harvard.edu>
Subject   st: RE: newbie if {} else {} question
Date   Fri, 20 Sep 2002 10:47:04 +0100

Richard Herrell
> 
> I've just started learning Stata syntax after long years of 
> SAS use and am
> completely stumped by a result.  I want to create a new 
> 4-level variable
> (ascertgp) based on the crosstabulation of 2 dichotomous 
> variables (probip
> and promig).  This is the syntax I wrote:
> 
> if      probip==1 & promig==1 {
>   gen ascertgp=1
> }
> else if probip==0 & promig==1 {
>   gen ascertgp=2
> }
> else if probip==1 & promig==0 {
>   gen ascertgp=3
> }
> else if probip==0 & promig==0 {
>   gen ascertgp=4
> }
> 
> When I run tab1 ascertgp I get a value of 3 for every 
> observation.  (I
> know what the 4 frequencies should be from the crosstab.)  
> I must be doing
> something very obviously wrong, but can see what it is. 
> 

In addition to several other answers, 
see the FAQ at 

http://www.stata.com/support/faqs/lang/ifqualifier.html

-if- ... -else- ... works on single tests, not 
vectorised ones, in many other languages. 

Nick 
n.j.cox@durham.ac.uk 
*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   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   |   What's new   |   Site index