【问题标题】:Stata year-quarter for loop循环的Stata年季度
【发布时间】:2016-02-27 05:13:16
【问题描述】:

我正在尝试在 Stata 中创建一个循环。我为

foreach yridx of numlist 2000/2012 {
forvalues qtridx = 1/4 {

regress Y X if year <= yridx and qtr <= qtridx
predict
}
}

【问题讨论】:

    标签: loops foreach stata


    【解决方案1】:

    听起来好像按季度日期工作会容易得多。这是几种方法之一。

    gen qdate = yq(year, qtridx) 
    forval m = `=yq(2000,1)'/`=yq(2012, 4)' { 
        regress Y X if qdate <= `m' 
        predict <whatever> 
    }
    

    【讨论】:

    • 这样就行了,而且比我的方法更干净!非常感谢。有一个小错字forvalues m = =yq(2000,1)'/=yq(2012, 4)' { } .. 我的一个后续问题是如果我要在循环内增加 m,我称之为m' + 1 correct?? gen qdate = yq(year, qtridx) forval m = =yq(2000,1)'/=yq(2012, 4)' { regress Y X if qdate m' + 1 }
    • 错字已修复;感谢那。您不应该尝试在循环内实现循环计数器。没有什么能阻止其他操作,例如local M = `m' + 1
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 2016-07-29
    • 2020-04-29
    • 1970-01-01
    • 1970-01-01
    • 2020-07-16
    相关资源
    最近更新 更多