array that will recode a variable into one of four values based on the
combined values of two other variables. I've got to do this over 40
variables across four domains. Here is the code I am using for the first
domain:
gen dom1t1=0
gen dom1t2=0
gen dom1t3=0
gen dom1t4=0
gen dom1t5=0
gen dom1t6=0
gen dom1t7=0
local read "dom1t1 dom1t2 dom1t3 dom1t4 dom1t5 dom1t6 dom1t7"
local able "able5 able10 able15 able20 able25 able30 able34"
local willing "willing5 willing10 willing15 willing20 willing25
willing30 willing34"
local i = 1
local n: word count 'read'
while 'i' <= 'n' {
local var1: word 'i' of 'read'
local var2: word 'i' of 'able'
local var3: word 'i' of 'willing'
recode 'var1' 0=1 if (('var2'>0 & 'var2'<4) & ('var3'>0 &
'var3'<4))
recode 'var1' 0=2 if (('var2'>0 & 'var2'<4) & ('var3'>3 &
'var3'<6))
recode 'var1' 0=3 if (('var2'>3 & 'var2'<6) & ('var3'>0 &
'var3'<4))
recode 'var1' 0=4 if (('var2'>3 & 'var2'<6) & ('var3'>3 &
'var3'<6))
local i = 'i' + 1
}
But when I run the code as a do file I get the following error
message:
. local read "dom1t1 dom1t2 dom1t3 dom1t4 dom1t5 dom1t6 dom1t7"
. local able "able5 able10 able15 able20 able25 able30 able34"
. local willing "willing5 willing10 willing15 willing20 willing25
willing30 willing34"
. local i = 1
. local n: word count 'read'
. while 'i' <= 'n' {
2. local var1: word 'i' of 'read'
3. local var2: word 'i' of 'able'
4. local var3: word 'i' of 'willing'
5. recode 'var1' 0=1 if (('var2'>0 & 'var2'<4) & ('var3'>0 &
'var3'<4))
6. recode 'var1' 0=2 if (('var2'>0 & 'var2'<4) & ('var3'>3 &
'var3'<6))
7. recode 'var1' 0=3 if (('var2'>3 & 'var2'<6) & ('var3'>0 &
'var3'<4))
8. recode 'var1' 0=4 if (('var2'>3 & 'var2'<6) & ('var3'>3 &
'var3'<6))
9. local i = 'i' + 1
10. }
'i' invalid name
r(198);
Why is it telling me that 'i' is an invalid name. I'm relying on Bill
Gould's explanation on using SAS-like arrays from
http://www.stata.com/support/faqs/data/arrays.html
Thanks.
Joseph McCrary
203 East 32nd St.
Baltimore, MD 21218
(443) 527-6290 (ph)
(443) 267-0151 (fax)
*
* 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/