我正在尝试使用用户编写的命令esttab(st0085_2)给出一个回归估计表。我的下面的代码只给出了最后一列(消费)。如何更改它以使每列与列表'outcomelist'中的不同因变量?
global outcomelist assets_total output_total expense_total profit_total self_empl income_dep hours_self_age16_65 hours_outside_age16_65 consumption
foreach var of global outcomelist {
xi: reg `var' i.paire if samplemodel==1 & treatment==1, cluster(demi_paire)
est store est_`var'
global estimates1 est_`var'
}
esttab $estimates1, b(2) se(2) r2 obslast
答案 0 :(得分:1)
我之前在评论中写过这篇文章,但我认为这是对你提问的答案:
看起来你每次循环都在写宏,所以它只存储最后一个。
也许可以尝试将global estimates1 est_`var'
更改为global estimates1 $estimates1 est_`var'
。这样你就可以添加到全局而不是覆盖全局。
我也建议你使用局部宏而不是全局变量。
我编写你所做的事情的方式如下:
local outcomelist assets_total output_total expense_total profit_total self_empl income_dep hours_self_age16_65 hours_outside_age16_65 consumption
// reset estimates1 local to empty just in case
local estimates1
foreach var in `outcomelist' {
xi: reg `var' i.paire if samplemodel==1 & treatment==1, cluster(demi_paire)
est store est_`var'
local estimates1 `estimates1' est_`var'
}
esttab `estimates1', b(2) se(2) r2 obslast