Carmen wrote:
I have a string variable called disease_ICD (oldvar) which has 
the values of "International Statistical Classification of 
Diseases and Related Health Problems - ICD 9 and ICD 10"
I need to create a new variable disease_ICDgroup (newvar) 
containing grouped values of disease_ICD (oldvar). The 
equivalent in EPI INFO is:
. Define newvar TEXTINPUT
. IF(substring(oldvar,1,3)>="001"AND substring(oldvar,1,3)<"799"THEN
ASSIGN newvar ="1" END
. IF(substring(oldvar,1,3)>="A00"AND substring(oldvar,1,3)<"U99"THEN
ASSIGN newvar ="1" END
. IF(substring(oldvar,1,3)>="800"AND substring(oldvar,1,3)<"999"THEN
ASSIGN newvar ="2" END
. IF(substring(oldvar,1,3)>="V00"AND substring(oldvar,1,3)<"Y99"THEN
ASSIGN newvar ="2" END
Note: The first three characters from oldvar are the same 
in all banks (more than 20 banks) which allowed me to create 
ranges and commands that can be used in all banks. 
How do I do this in STATA?
===============================================================
First, I would generate a help variable -old3- since this is used
repeatedly:
   generate str old3 = substr(oldvar,1,3)
Next, it goes:
   generate str newvar = ""
   replace newvar = "1" if old3>="001" & old3<"799"
   replace newvar = "1" if old3>="A00" & old3<"U99"
   replace newvar = "2" if old3>="800" & old3<"999"
   replace newvar = "2" if old3>="V00" & old3<"Y99"
I wonder, however, if you want -newvar- to be string; numaric 
variables are handier:
   generate newvar = .
   replace newvar = 1 if old3>="001" & old3<"799"
   replace newvar = 1 if old3>="A00" & old3<"U99"
   replace newvar = 2 if old3>="800" & old3<"999"
   replace newvar = 2 if old3>="V00" & old3<"Y99"
Note that you may use the relational operators > and < with 
strings. The rule is that strings follow dictionary sequence; 
however, all uppercase letters come before lowercase, numbers 
come before letters, and spaces or blanks come before 
anything else. So:
   " " < "12" < "2" < "A" < "AA" < "Z" < "a"
You could have found information about the substr() function by:
   findit substring
Hope this helps
Svend
__________________________________________
Svend Juul
Institut for Folkesundhed, Afdeling for Epidemiologi
(Institute of Public Health, Department of Epidemiology)
Vennelyst Boulevard 6
DK-8000  Aarhus C, Denmark
Phone:  +45 8942 6090
Home:   +45 8693 7796
Email:  [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/