Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: st: Generating a binary variable
From
Phil Schumm <[email protected]>
To
[email protected]
Subject
Re: st: Generating a binary variable
Date
Fri, 2 Apr 2010 04:24:21 -0500
On Apr 1, 2010, at 10:54 PM, Nik Pineider wrote:
I'm having trouble getting this to generate. gen ecobuy = 1 if
ecolbs > 0 & ecobuy = 0 if ecolbs = 0. What am I doing wrong here?
If ecolbs is nonnegative and never missing, then you can use
assert 0 <= ecolbs & !mi(ecolbs)
gen ecobuy = (0 < ecolbs)
where the first line simply verifies the assumption (for safety and
readability). If, however, ecolbs has missing and/or negative values,
then you need to decide what value(s) ecobuy should take in those
cases. For example, your original code (suitably broken onto two
lines, as suggested by others) would result in ecobuy == 1 if ecolbs
is missing, and ecobuy == . if ecolbs is negative. You can achieve
the same thing by modifying the line above with an -if- condition:
gen ecobuy = (0 < ecolbs) if 0 <= ecolbs
Note that this is probably *not* what you want (since it will set
ecobuy = 1 if ecolbs is missing). Instead, you probably want
gen ecobuy = (0 < ecolbs) if 0 <= ecolbs & !mi(ecolbs)
which will set ecobuy to missing if ecolbs is negative or missing.
If any of this is unclear, you should read [U] 13 Functions and
expressions (especially 13.1 and 13.2) and [U] 12.2.1 Missing values.
-- Phil
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/