什么是estadd的等价:outs2中的ysumm?

时间:2015-08-30 02:20:32

标签: stata

我有一组使用-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时可以在回归输出表中包含因变量的均值?

2 个答案:

答案 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))标签     } }