【问题标题】:How to run FE regressions for time-invariant subgroups (in Stata)如何为时不变子组运行 FE 回归(在 Stata 中)
【发布时间】:2020-08-19 14:27:15
【问题描述】:

您好,我对几个结果运行了几个固定效应回归,我将它们存储在 local 中并在 foreach 循环中执行。接下来,我想通过稳定的、时不变的特征(例如性别或种族)添加子组分析。因此我不能使用bysort group: regress

以下是 MWE,我如何才能对 race 的所有 3 个级别重新进行此分析?目前我进行复制粘贴,保存数据并一次保持每个级别。希望有更有效的方法。

* load data
use http://www.stata-press.com/data/r13/nlswork

* set panel structure
xtset idcode year

* fixed effects regression 
local outcomes "ln_wage ttl_exp tenure" 
local rhsvars "c.wks_ue##c.wks_ue##i.occ_code union age i.year 1.race"

foreach o of local outcomes { 
        quietly xtreg `o' `rhsvars', i(idcode) fe 
                margins, dydx(wks_ue) at(occ_code=(1 2 3)) post
                outreg2 using report_`r'.doc, word append ctitle(`o')
} 
* subgroup analysis race (or gender) ??

【问题讨论】:

  • if race == 1 等有什么问题?

标签: loops regression stata


【解决方案1】:

正如上面提到的 Pearly Spencer,if 似乎是完美的解决方案。 (我假设您的本地宏 r 用于迭代种族值。)

use http://www.stata-press.com/data/r13/nlswork
xtset idcode year
local outcomes "ln_wage ttl_exp tenure" 
local rhsvars "c.wks_ue##c.wks_ue##i.occ_code union age i.year"
levelsof race
local racelevels `r(levels)'

foreach r in `racelevels'{
    foreach o of local outcomes { 
            quietly xtreg `o' `rhsvars' if race == `r', i(idcode) fe 
                    margins, dydx(wks_ue) at(occ_code=(1 2 3)) post
                    outreg2 using report_`r'.doc, word append ctitle(`o')
    }
}

顺便说一句,将 Sergio Correia 的用户编写命令 reghdfe 视为 xtreg 的更快、更直观的替代品:http://scorreia.com/software/reghdfe/

(代码已编辑)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-03
    • 2014-01-07
    • 1970-01-01
    • 2018-09-19
    • 2021-03-21
    • 1970-01-01
    • 2021-12-30
    • 1970-01-01
    相关资源
    最近更新 更多