我想添加一行来列出回归表底部的因变量的加权平均值。通常情况下,我会运行
reg y x1 x2 x3
estadd ysumm, mean
eststo r1
esttab r1 using results.tex, replace label title("Title") long nomtitles cells("b(fmt(a3) star)" t(par fmt(2))) stats(r2 N ymean, labels("R-squared" "Observations" "Mean of Y"))
但是,我尝试了两种方法来获得加权平均值而没有成功。 第一:
reg y x1 x2 x3
estadd ysumm [aw=pop], mean
我收到错误:
weights not allowed
r(101);
其次,我手动将加权平均值输入矩阵,然后用estadd
保存:
matrix define wtmeans=(mean1, mean2, mean3)
estadd matrix wtmeans
esttab r1 using results.tex, replace label title("Title") long nomtitles cells("b(fmt(a3) star)" t(par fmt(2))) stats(r2 N wtmeans, labels("R-squared" "Observations" "Mean of Y"))
生成的tex文件包含标签“Y的平均值”,但该行为空白。
如何将这些加权方式显示在tex表中?
答案 0 :(得分:1)
我今天遇到了类似的问题。部分解决方案是使用标量命令,然后在esttab, stat()
选项中引用该标量矩阵。
这是我用于类似问题的语法。你可能会略微不同,因为你正在拉一个不同的标量(我正在抓取特定联合F检验的p值),但实际上它应该是相同的:
eststo clear
eststo ALL: reg treatment var1 var2 var3 var4 if experiment
qui test var1 var2 var3
estadd scalar pvals=r(p)
...重复其他规格...
esttab _all using filename.csv, replace se r2 ar2 pr2 stat(pvals) star( + .1 ++ .05 +++ .01) b(%9.3f) se(%9.3f) drop(o.*) label indicate()
所以你可以做到以下几点:
eststo clear
eststo r1: reg y x1 x2 x3
qui sum y [aw=pop]
estadd scalar YwtdMean=r(mean)
esttab r1 using results.tex, replace label title("Title") long nomtitles cells("b(fmt(a3) star)" t(par fmt(2))) stats(r2 N YwtdMean, labels("R-squared" "Observations" "Weighted Mean of Y"))
让我知道这是否有效。