Stata循环不同控制变量集合时出现{ required错误,求助解决
Stata循环报错{ required的解决方法
错误原因
你第二个foreach循环的语法不符合Stata规则:foreach ... of local后面只能指定单个本地宏的名称,不能直接罗列tmax tmin precip多个宏名,这就是触发{ required错误的根源。
修正后的代码
local tmax "tmax_3 tmax_2 tmax_1 tmax0 tmax1 tmax2 tmax3" local tmin "tmin_3 tmin_2 tmin_1 tmin0 tmin1 tmin2 tmin3" local precip "precip_3 precip_2 precip_1 precip0 precip1 precip2 precip3" est clear local m=1 foreach var of varlist good_health better_health { // 遍历三个天气变量组的宏名称 foreach weather_group in tmax tmin precip { // 用双重反引号调用对应宏里的变量列表 eststo model_`m'_`weather_group': reg `var' ``weather_group'', robust cluster(parish_id) local m `++m' } }
关键调整说明
- 把第二个循环改为遍历
tmin tmax precip这三个宏的名称,而非直接引用宏内容 - 用``weather_group''(双重反引号)的语法,实现“通过宏名称调用对应宏的变量列表”,这是Stata中嵌套引用本地宏的标准写法
内容的提问来源于stack exchange,提问作者Alonso Quijano
相关产品推荐
相关产品推荐

