Statalist


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

Re: st: RE: help with encode


From   Michael Hanson <mshanson@mac.com>
To   statalist@hsphsun2.harvard.edu
Subject   Re: st: RE: help with encode
Date   Fri, 24 Jul 2009 07:02:01 -0400

If that really is the situation you're in -- all encoded values are 2's and 3's -- then why not simply linearly transform the encoded variables to the values that you want? That is, type:
replace gender = gender - 2

(Subtract 1 if you had 1's and 2's as mentioned in your original post.)

However, I suspect something else is going on. My expectation is that you have more than just two string values ("m" and "f") in your series. Can you provide to the list the output of -table female-? I suspect that if you try Nick's -tab ...- command shown below, you would also find unexpected values.
However, these are all conjectures.  You would likely resolve your  
situation much more quickly (and waste fewer people's time on the list  
in the process) if you followed the guidance clearly laid out in the  
Statalist FAQ:
3.3 Stata references in your question
Say exactly what you typed and exactly what Stata typed (or did) in response. N.B. exactly!
Why not at least show us what actually happened?  In this case, copy  
and paste from the results window the *exact* -encode- command and  
resulting Stata output.  Then copy and past whatever command led you  
to conclude that you were getting 2's and 3's, and the *exact* and  
*complete* output from that command.  (In consideration to Statalist  
readers, please don't provide us with a lengthy -list- output.  Use - 
table- instead, as suggested above.)
Hope this helps,
Mike


On Jul 24, 2009, at 4:09 AM, Miranda Kim wrote:

I tried this but couldn't make it work, as it then automatically encodes the variables with 2's and 3's...
Nick Cox wrote:
In addition to other answers the direct answer to the second question is
"Yes":
label def female 0 "m" 1 "f" encode gender, gen(female) label(female)

It would no harm to check on any missings:
tab gender if !inlist(female, 0, 1)
Nick n.j.cox@durham.ac.uk
Miranda Kim

How can I efficiently convert string variables (such as gender with values 'f' 'm') into binary 0/1 variables?
Can I fiddle with encode so that it codes 0/1 instead of 1/2?
*
*   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–2025 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index