问题描述
您好,我对几种结果进行了几种固定效果回归分析,这些结果存储在local
中,并在foreach
循环中进行。接下来,我想根据稳定的时不变性(例如性别或种族)添加子组分析。因此,我不能使用bysort group: regress
以下是MWE,如何对race
的所有三个级别重做此分析?目前,我执行复制粘贴操作,保留数据并一次保持每个级别。我希望有一种更有效的方法。
* 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) ??
解决方法
正如上面的Pearly Spencer所述,if
似乎是完美的解决方案。 (我以为您的本地宏r
用于遍历race的值。)
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/
(代码已编辑)