我有一组使用-estout-
按以下格式构建的回归:
foreach yvar of varlist yvar1 yvar2 {
eststo: quietly regress `yvar' xvar1 xvar2, robust
estadd ysumm
}
esttab using mydoc.csv, se stats(N ymean r2_a) replace
我发现-outreg2-
可以创建更好的回归表,所以我切换到-outreg2-
。但是,我想在使用`-outreg2-时包含ymean
(因变量的平均值)。
使用-estout-
和-estadd-
回归时,会创建标量,包括e(ysd),e(ymean)等。切换到-outreg2-
时,我无法调用e(ymean) )。以下是我的代码:
local first_loop yes
foreach yvar of varlist yvar1 yvar2 {
quietly regress `yvar' xvar1 xvar2, robust
if "`first_loop'"=="yes"{
outreg2 using outreg2_test.xls, replace ctitle(`yvar') addstat(Mean, e(ymean)) label
local first_loop no
}
else {
outreg2 using outreg2_test.xls, append ctitle(`yvar') addstat(Mean, e(ymean)) label
}
}
上面的代码不起作用,因为STATA无法识别e(ymean)。此功能是否特定于-estadd-
?有没有办法在使用outreg2时可以在回归输出表中包含因变量的均值?
答案 0 :(得分:1)
我对estadd
不熟悉,但似乎e(ymean)
不是regress
的标准回归输出。
最简单的方法可能是指定您希望报告因变量(depvar
选项),并且您希望报告平均值以及系数和s.e. - 例如,
outreg2 using outreg2_test.xls, replace ctitle(`yvar') depvar stats(coef se mean) label
(请注意,此方法还将报告自变量的均值。)
或者,要在列的底部仅报告 ymean,您可以汇总您的因变量并手动添加均值:
local first_loop yes
foreach yvar of varlist yvar1 yvar2 {
quietly regress `yvar' xvar1 xvar2, robust
quietly summ `yvar'
if "`first_loop'"=="yes"{
outreg2 using outreg2_test.xls, replace ctitle(`yvar') addstat(Mean, r(mean)) label
local first_loop no
}
else {
outreg2 using outreg2_test.xls, append ctitle(`yvar') addstat(Mean, r(mean)) label
}
}
您还可以将“ymean”添加到本地宏,如果愿意,可以在addstat()
选项中使用它,并且 - 根据您的回归分析 - 您可能希望将if e(sample)
添加到你的summ
命令。
答案 1 :(得分:0)
estadd ysumm,也可以在outreg2命令中使用。只需在回归方程式后面使用“ estadd ysumm”来创建这些额外的标量即可得到结果。希望对您有帮助。
本地first_loop是
foreach变量列表yvar1 yvar2的yvar {
安静地回归“ yvar” xvar1 xvar2,功能强大
estadd ysumm
如果“`first_loop'” ==“是” {
使用outreg2_test.xls的outreg2,替换ctitle(`yvar')addstat(因变量的平均值,e(ymean))标签
本地first_loop否 }
其他{
outreg2使用outreg2_test.xls,附加ctitle(`yvar')addstat(因变量的平均值,e(ymean))标签 } }