Statalist


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

RE: st: RE: help with encode


From   "Nick Cox" <n.j.cox@durham.ac.uk>
To   <statalist@hsphsun2.harvard.edu>
Subject   RE: st: RE: help with encode
Date   Fri, 24 Jul 2009 11:53:37 +0100

This works fine for me. In the absence of an indication of exactly what
you typed, I cannot explain what you did wrong. 

. clear

. set obs 4
obs was 0, now 4

. gen gender = cond(mod(_n,2), "m", "f")

. l

     +--------+
     | gender |
     |--------|
  1. |      m |
  2. |      f |
  3. |      m |
  4. |      f |
     +--------+

. label def female 0 "m" 1 "f"

. encode gender, gen(female) label(female)

. l

     +-----------------+
     | gender   female |
     |-----------------|
  1. |      m        m |
  2. |      f        f |
  3. |      m        m |
  4. |      f        f |
     +-----------------+

. l, nola

     +-----------------+
     | gender   female |
     |-----------------|
  1. |      m        0 |
  2. |      f        1 |
  3. |      m        0 |
  4. |      f        1 |
     +-----------------+

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

Miranda Kim

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) 

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–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index