Bookmark and Share

Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down at the end of May, and its replacement, statalist.org is already up and running.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

st: RE: AW: AW: recoding a variable


From   "Nick Cox" <n.j.cox@durham.ac.uk>
To   <statalist@hsphsun2.harvard.edu>
Subject   st: RE: AW: AW: recoding a variable
Date   Thu, 18 Feb 2010 14:02:55 -0000

Another way to do it 

gen byte newvar = cond(missing(var), . , var > .5) 

Nick 
n.j.cox@durham.ac.uk 

Martin Weiss

As always with the "greater than" operator in Stata, special care should
be
taken with regard to missings. So my expanded advice for you would be to
explicitly account for them:

clear
set obs 10000
 
gen var=runiform()
su var

//introduce missings
replace var=. in 5/8
ins var

//explicity deal with missings
gen byte newvar=var>.5 & !mi(var)
ta newvar, mis

l in 1/10, noo

Martin Weiss

replace var=var>.5

Data Analytics Corp. (Walter R. Paczkowski, Ph.D.) 

I got some very good quick advice on a looping question I asked 
earlier.  I have another question.  Suppose I have a variable with 
values that range between 0 ands 1.  I simply want to recode this so 
that any value greater than 0.5 becomes a 1, and 0 otherwise.  How do I 
do this?


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


© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index