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

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


From   Bill Rising <brising@louisville.edu>
To   "Stata Listserve" <statalist@hsphsun2.harvard.edu>
Subject   Re: st: newbie if {} else {} question
Date   Thu, 19 Sep 2002 15:52:47 -0400

On 9/19/02 15:26, Richard Herrell wrote

>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
>}
>

This construction would work better as
if xxx {
 blah blah
 }
else {
 if yyy {
  yada yada
  }
 }

A better way around this would be to try
 gen ascertgp = 4 - promig*2 - probip 

There is a built-in Stata command for creating the categories, but it 
escapes me at the moment.

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