“stata中嵌套循环中的{required”

时间:2013-07-12 02:48:53

标签: stata

我讨厌用这个问题惹恼你们,但是我收到错误“{required”,即使我的所有循环看起来都是正确打开(并且关闭),不幸的是Stata没有告诉你错误在哪里,所以我无法弄清楚为什么会这样。顺便说一句,如果我用if语句取出append_replace部分,我仍然会得到相同的错误,所以我认为它不是来自该部分。这是我的代码:

local vars = "any_rate resp_rate circ_rate weight_rate diabetes_rate gallstones_rate   mental_rate cancer_rate std_rate died_rate"
local dates = "1947 1974"
foreach var of local `vars' {
    foreach i of local `dates' {
        forvalues j = 500(100)2500 {
            local append_replace = "append"
            if "`var'"=="any_rate" {
                if "`i'" == "1947" {
                    if `j' == 500 {
                        local append_replace = "replace"
                    }
                }
            }
            reg `var' post`i' dobdistfrom`i'change dobdistfrom`i'changesq post`i'_dist`i' post`i'_dist`i'sq if dobdistfrom`i'change < `j' & dobdistfrom`i'change > -`j', cluster(dobdistfrom`i'change)
                outreg2 using Prelim_RD_Estimates.xls, `append_replace' excel dec(3)
        }
    }
}

非常感谢你的帮助!

1 个答案:

答案 0 :(得分:4)

我认为问题在于本地阻止{被阅读。

原始有问题的版本:

local dates = "1947 1974"
foreach i of local `dates' {
  di `i'
  }

更正版本:

local dates = "1947 1974"     
foreach i in `dates' {
   di `i'
   }

您也可以在原始构造中省略“foreach i of local dates”中的引号。