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

st: re: cond(a,b,c) fn


From   Kit Baum <baum@bc.edu>
To   statalist@hsphsun2.harvard.edu
Subject   st: re: cond(a,b,c) fn
Date   Thu, 14 Apr 2005 22:42:33 -0400

James writes

When I use the cond(x,a,b,c) function, I could not generate the value c
when x is missing. For example:

sysuse auto, clear
tab rep78, mi
gen a=cond(rep78==1, 1, 0, .)
tab a, mi

It gives

a Freq. Percent Cum.

0 72 97.30 97.30
1 2 2.70 100.00

Total 74 100.00

There should be 5 missing values for variable a according to the manual.
Thanks for your input.



The online help says

cond(x,a,b,c) returns a if x evaluates to true (not 0), b if x evaluates to false
(0), and c if x evaluates to missing (.).

Since "rep78==1" never evaluates to missing, a will never be set to missing.
A way to achieve this is

. g a = (rep78==1)*rep78/rep78

. tab a,mi

a | Freq. Percent Cum.
------------+-----------------------------------
0 | 67 90.54 90.54
1 | 2 2.70 93.24
. | 5 6.76 100.00
------------+-----------------------------------
Total | 74 100.00

Kit Baum, Boston College Economics
http://ideas.repec.org/e/pba1.html

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