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
[email protected]
*
* 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/