如何解决foreach 循环的无效语法 (r198)
我正在 Stata 中重新编码我的序数变量,以使值变得更直观,即排名越高,我的变量名称打算测量的程度就越高。
例如,回答“您觉得与您的国家有多亲近?”的问题。编码:1 - 非常接近 2 - 接近 3 - 不太接近 4 - 根本不接近
我想以这种方式重新编码我的新变量“close_country”:4 - 非常接近,3 - 接近,2 - 不太接近,1 - 根本不接近
rename v1 close_city
rename v2 close_province
rename v3 close_country
rename v4 close_continent
rename v5 close_ethnic
gen close_city_1=.
gen close_province_1=.
gen close_country_1=.
gen close_continent_1=.
gen close_ethnic_1=.
local closes "city province country continent ethnic"
foreach `close' in `closes' {
replace close_`close'_1 = 4 if close_`close'==1
replace close_`close'_1 = 3 if close_`close'==2
replace close_`close'_1 = 2 if close_`close'==3
replace close_`close'_1 = 1 if close_`close'==4
}
replace close_city_1 = 4 if close_city==1 // this works fine
replace close_city_1 = 3 if close_city==2 // this works fine
解决方法
您的代码似乎减少到
rename (v1-v5) (close_city close_province close_country close_continent close_ethnic)
local closes "city province country continent ethnic"
foreach v of local closes {
gen close_`v'_1 = 5 - close_`v'
}
-- 甚至
foreach v in city province country continent ethnic {
gen close_`v'_1 = 5 - close_`v'
}
错误在
foreach `close' in `closes'
你的意思
foreach close in `closes'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。