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

# using -cond- to create a indicator [was: Re: st: intcens: how to estimate mean and variance after intcens]

 From Maarten Buis To statalist@hsphsun2.harvard.edu Subject using -cond- to create a indicator [was: Re: st: intcens: how to estimate mean and variance after intcens] Date Fri, 26 Oct 2012 09:37:51 +0200

```On Fri, Oct 26, 2012 at 6:22 AM, PHAM Ngoc Minh wrote:
> I wish to create dummy variables containing missing (.), and thus used
> formula COND(IF, THEN, ELSE) but missing (.) no longer existed. An example
> as follows:
>
> I need to generate (wcgrp) from waist circumference (wc) as 1, 0 or missing
> (.), then typed:
>
> generate wcgrp = cond(wc>90&wc!=.&sex==1|wc>80&wc!=.&sex==2, 1, 0)
>
> but (wcgrp) had only 1 and 0, and missing was regarded as 0.

What you want is a new variable that contains three possible values
(0, 1, .) but you give it values using a function that can only output
2 values (one for when the expression is true and one for when the
expression is false), so that cannot work. Notice however that
-cond()- is working correctly in the sense that it did exactly what
you told it to do: it gives a 0 when the expression is false and the
expression is false when either the waist circumference is smaller
than some sex specific threshold or when wc is missing.

Below are two possible solutions:

generate wcgrp = cond(wc>90&sex==1|wc>80&sex==2, 1, 0) if !missing(wc)

generate wcgrp = cond(wc>90&sex==1|wc>80&sex==2, cond(missing(wc), ., 1), 0)

Hope this helps,
Maarten

---------------------------------
Maarten L. Buis
WZB
Reichpietschufer 50
10785 Berlin
Germany

http://www.maartenbuis.nl
---------------------------------
*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/faqs/resources/statalist-faq/
*   http://www.ats.ucla.edu/stat/stata/
```