Statalist The Stata Listserver


[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

st: Re: Encode string in batch way?


From   "Michael Blasnik" <michael.blasnik@verizon.net>
To   <statalist@hsphsun2.harvard.edu>
Subject   st: Re: Encode string in batch way?
Date   Wed, 20 Sep 2006 07:15:15 -0400

You can either check the variable type within the loop or else just use the capture command:

forvalue i=1(1)614 {
cap encode v`i', gen(vv`i') label(yesno)
if _rc==0 {
drop v`i'
rename vv`i' v`i'
}
}

Michael Blasnik


----- Original Message ----- From: "Jia Xiangping" <jiajoseph@googlemail.com>
To: "statalist" <statalist@hsphsun2.harvard.edu>
Sent: Wednesday, September 20, 2006 6:31 AM
Subject: st: Encode string in batch way?



Dear list friends,

I am dealing with a datafile in which a batch of variables are
mistakenly coded as Y or N in the type of string. You know, string is
useless to me and I have to encode them. It is easy to encode
individual variables via following way:

label define yesno 0 "N" 1 "Y"
encode v1, gen(vv1) label(yesno)
drop vv1
rename vv1 v1

However, you know, there are numerous problems in the file like this,
and I try to encode them a batch way.
label define yesno 0 "N" 1 "Y"
forvalue i=1(1)614 {
encode v`i', gen(vv`i') label(yesno)
drop v`i'
rename vv`i' v`i'
}

Then I was informed
not possible with numeric variable
r(107);
end of do-file
r(107);
*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   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