我尝试使用 community-contributed 系列命令estout
创建一个表:
esttab est1 est2 est3 using table3.tex, se label nobaselevels ///
star(* 0.10 ** 0.05 *** 0.01) cell((coef(fmt(%9.2f)) sd(fmt(%9.2f)))) ///
drop(_Iprovince* _Iyear*) stats(year province robust r2 N, ///
label("Year Fixed Effects" "Province Fixed Effects" "Robust SE" "R-squared")) ///
replace booktabs
但是,Stata会产生以下错误:
找不到系数_Iprovince *
这些是“固定效果”假人,我想将其删除。
当我取出cell()
时,代码工作正常。
最后,我还应该如何对系数估计值和标准误差进行取整?
答案 0 :(得分:1)
除非您使用的Stata版本非常旧,否则请勿使用xi
创建FE。改用因子变量表示法i.province
和i.year
。
代码的主要问题是您应该使用b
而不是coef
(Stata无法删除系数,因为除非您告诉Stata您想要它们,否则不包括系数):
sysuse auto
eststo est1: reg price mpg i.rep78
esttab est1, ///
stats(b year province robust r2 N, label("Year Fixed Effects" "Province Fixed Effects" "Robust SE" "R-squared")) ///
replace booktabs drop(*.rep78) se label nobaselevels star(* 0.10 ** 0.05 *** 0.01) cell((b(fmt(%9.2f)) sd(fmt(%9.2f))))
请注意共享数据集上的可复制示例。
答案 1 :(得分:1)
由于您在esttab
中使用子选项sd
,所以代码无法执行
而不是se
:
sysuse auto, clear
eststo est1: xi: reg price mpg i.rep78
i.rep78 _Irep78_1-5 (naturally coded; _Irep78_1 omitted)
Source | SS df MS Number of obs = 69
-------------+---------------------------------- F(5, 63) = 4.39
Model | 149020603 5 29804120.7 Prob > F = 0.0017
Residual | 427776355 63 6790100.88 R-squared = 0.2584
-------------+---------------------------------- Adj R-squared = 0.1995
Total | 576796959 68 8482308.22 Root MSE = 2605.8
------------------------------------------------------------------------------
price | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
mpg | -280.2615 61.57666 -4.55 0.000 -403.3126 -157.2103
_Irep78_2 | 877.6347 2063.285 0.43 0.672 -3245.51 5000.78
_Irep78_3 | 1425.657 1905.438 0.75 0.457 -2382.057 5233.371
_Irep78_4 | 1693.841 1942.669 0.87 0.387 -2188.274 5575.956
_Irep78_5 | 3131.982 2041.049 1.53 0.130 -946.7282 7210.693
_cons | 10449.99 2251.041 4.64 0.000 5951.646 14948.34
------------------------------------------------------------------------------
esttab est1, cell((coef(fmt(%9.2f)) sd(fmt(%9.2f)))) label nobaselevels ///
star(* 0.10 ** 0.05 *** 0.01) stats(b r2 N) drop(_Irep78*)
coefficient _Irep78* not found
r(111);
如果使用正确的子选项se
,则代码将运行:
esttab est1, cell((coef(fmt(%9.2f)) se(fmt(%9.2f)))) label nobaselevels ///
star(* 0.10 ** 0.05 *** 0.01) stats(r2 N) drop(_Irep78*)
----------------------------------------------
(1)
Price
coef se
----------------------------------------------
Mileage (mpg) 61.58
Constant 2251.04
----------------------------------------------
r2 0.26
N 69.00
----------------------------------------------
但是,子选项coeflabels
(代码中的coef
)仅应
为beta系数指定标签,但不包括它们。
因此,您需要按照下面的建议使用子选项b
@Dimitriy的答案:
esttab est1, cell((b(fmt(%9.2f)) se(fmt(%9.2f)))) label nobaselevels ///
star(* 0.10 ** 0.05 *** 0.01) stats(r2 N) drop(_Irep78*)
----------------------------------------------
(1)
Price
b se
----------------------------------------------
Mileage (mpg) -280.26 61.58
Constant 10449.99 2251.04
----------------------------------------------
r2 0.26
N 69.00
----------------------------------------------
这是esttab
中的完整输出(没有删除任何内容):
esttab est1, cell((b(fmt(%9.2f)) se(fmt(%9.2f)))) label nobaselevels ///
star(* 0.10 ** 0.05 *** 0.01) stats(r2 N)
----------------------------------------------
(1)
Price
b se
----------------------------------------------
Mileage (mpg) -280.26 61.58
rep78==2 877.63 2063.28
rep78==3 1425.66 1905.44
rep78==4 1693.84 1942.67
rep78==5 3131.98 2041.05
Constant 10449.99 2251.04
----------------------------------------------
r2 0.26
N 69.00
----------------------------------------------