使用当前全局Stata嵌套for循环

时间:2018-01-11 14:40:40

标签: for-loop nested global stata

我正在使用for循环:

foreach n of numlist 1/7 {

然后做各种各样的事情......

recode ${controls`n'} (.=0)
pscore intervention_family ${controls`n'}, pscore(ps_oowb) 
blockid(bl_oowb)

其中

$controls`n' 

是先前定义的宏,其中包含变量列表。

E.g

global controls1 ///
age /// 
sex ///

这一切都很好,直到我需要使用另一个for循环,如下所示...

foreach var in $controls`n' {
  local i=`i'
    putexcel A`i'="`var'" B`i'="U" C`i'=`r(m1u_`var')' 
  D`i'=`r(m0u_`var')' 
  ......
}

我不能把括号括起来

$controls`n' 

然后Stata在同一条线上的大括号后面写了代码'但没有他们,Stata似乎并不认识到这种全球性。

以前我只是在调用一个宏

foreach var in $controls {
    ...
}

它工作正常。 任何人都知道正确的语法/解决方法吗?

1 个答案:

答案 0 :(得分:0)

尝试通过以下方式“解压缩”此结构:

foreach n of numlist 1/7 {
foreach var of global controls`n' {

}
}