<>
-replace-ing these variables with numeric counterparts would require you to
change the -type- from string to numeric as well. I think the best way to do
this for many variables is to employ a loop over them, and have the old ones
-drop-ped automatically...
**************
clear*
input str1 alc_now
y
y
y
y
y
y
n
y
end
clonevar alc_now1=alc_now
clonevar alc_now2=alc_now
clonevar alc_now3=alc_now
qui ds, has(type string)
foreach var in `r(varlist)'{
encode `var', gen(`var'_new)
drop `var'
}
list, noobs
**************
HTH
Martin
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Michael McCulloch
Sent: Montag, 28. September 2009 00:25
To: Statalist
Subject: st: efficiently creating 1/0 variables from existing string y/n
variables
Hello,
I have a long list of string variables which contain only "y", "n", or
are missing.
I'm converting them to new numeric variables with values 1 if the old
variable is "y", and 0 if "n".
For example:
gen etoh_now=alc_now=="y"
This gives, correctly:
.. list alc_now etoh_now, clean
alc_now etoh_now
1. y 1
2. y 1
3. y 1
4. y 1
5. y 1
6. y 1
7. n 0
8. y 1
Is there a more efficient way to do this, where I can change "y" to 1
and "n" to 0 without creating a new variable and manually dropping the
old variable?
Michael McCulloch, LAc MPH PhD
Pine Street Foundation
124 Pine Street
San Anselmo, CA 94960-2674
tel: 415-407-1357
fax: 206-338-2391
[email protected]
*
* 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/
*
* 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/