pinesttab功能挖掘:“Yes”or“No”
在实证研究中,回归结果输出的标准化是⼗分重要的。⼀个完美的输出程序,能为你省下很多不必要的⼿⼯调整的⿇烦。在原公众号中,我们推送过⼀篇关于esttab输出回归结果的命令,今天我们再来补充⼀下esttab、estout系列命令的其他⽤法:如何在回归结果表格输出时加⼊⼀⾏,备注是否控制时间固定效应、⾏业固定效应或者个体效应等。
⾸先我们调⽤⼀个⽹络⾯板数据(nlswork),并进⾏三个回归
clear
t more off
webu nlswork,clear
xtt idcode year //设置⾯板标识
tab year,gen(yd) //⽣成年份虚拟变量
*回归1:未控制年份的OLS,对标准误进⾏聚类修正
reg ln_w age ttl_exp tenure not_smsa south, vce(cluster idcode)
est store m1
*回归2:控制年份的OLS,对标准误进⾏聚类修正
reg ln_w age ttl_exp tenure not_smsa south yd*, vce(cluster idcode)
est store m2
*回归3:控制年份的⾯板固定效应模型,对标准误进⾏聚类修正
xtreg ln_w age ttl_exp tenure not_smsa south yd*, fe vce(cluster idcode)
est store m3
esttab m1 m2 m3, star(* 0.1 ** 0.05 *** 0.01) b(%6.3f) t(%6.3f) compress nogap ///
drop(yd*) stats(N r2_a, fmt(%12.0f %9.3f)) varwidth(20) ///
在职mba培训班
title('Table1 Wage') mtitle('OLS' 'OLS' 'FE')
注1:star选项可以对显著性进⾏调整,此处*表⽰10%,**表⽰5%,***表⽰1%。
注2:b(),t()选项分别为调整输出系数和t值的格式,%6.3f表⽰,长度为6,⼩数3位。
注3:compress和nogap选项可以压缩⾏距和列距。
注4:由于year是控制变量,我们也不想观察其系数,故在输出时使⽤drop()选项删除。
英语情侣名注5:stats()选项可以在输出结果中增加⾏注释或者回归存储值;这⾥我们输出了观测值个
数N和调整后的R2,并为其设置显⽰格式。
注6:为了避免输出时变量名缺省,我们使⽤varwidth()选项,设定输出变量名长度为20。damages
注7:title()和mtitle()选项可以设置表格标题以及模型的标题。
输出结果如下:
输出的表格很精美,然⽽仍有不⾜:1)没有显⽰是否控制年份;2)没有显⽰cluster;3)没有显⽰是否控制个体效应(Fixed Effect)。
对于第⼀个问题,我们可以选择使⽤indicate()选项来解决,命令和输出结果如下:australia是什么意思中文
esttab m1 m2 m3, star(* 0.1 ** 0.05 *** 0.01) b(%6.3f) t(%6.3f) compress nogap ///
stats(N r2_a, fmt(%12.0f %9.3f)) varwidth(20) indicate('Year FE=yd*') ///
title('Table1 Wage') mtitle('OLS' 'OLS' 'FE')
对于第2和第3个问题,我们可以结合estadd命令来解决。其实esttab和estout是⼀个很强⼤的结果输出命令系列,其选项是通⽤的,如果能够灵活的搭配使⽤则会事半功倍。使⽤estadd对以上程序进⾏修改,具体细节请help estadd,修改后的程序如下:
clear
t more off
webu nlswork,clear
xtt idcode year
tab year,gen(yd)
reg ln_w age ttl_exp tenure not_smsa south, vce(cluster idcode)jules verne
estadd local Cluster 'Yes',replace
estadd local Fixed_Effect 'No',replace
est store m1
temporaryreg ln_w age ttl_exp tenure not_smsa south yd*, vce(cluster idcode)
estadd local Cluster 'Yes',replace
estadd local Fixed_Effect 'No',replace
est store m2
xtreg ln_w age ttl_exp tenure not_smsa south yd*, fe vce(cluster idcode) estadd local Cluster 'Yes',replace
北二外estadd local Fixed_Effect 'Yes',replace
est store m3
esttab m1 m2 m3, star(* 0.1 ** 0.05 *** 0.01) b(%6.3f) t(%6.3f) compress nogap /// stats(Fixed_Effect Cluster N r2_a, fmt(%3s %3s %12.0f %9.3f)) varwidth(20) /// indicate('Year FE=yd*') title('Table1 Wage') mtitle('OLS' 'OLS' 'FE')
回归结果如下:
当然,我们也可以使⽤estadd把Year FE标识调整到横线下⾯,程序修改如下:
reg ln_w age ttl_exp tenure not_smsa south, vce(cluster idcode)
estadd local Cluster 'Yes',replace
estadd local Year_FE 'No',replace
estadd local Fixed_Effect 'No',replace
est store m1
reg ln_w age ttl_exp tenure not_smsa south yd*, vce(cluster idcode)
estadd local Cluster 'Yes',replace
estadd local Year_FE 'Yes',replace
estadd local Fixed_Effect 'No',replace
est store m2
xtreg ln_w age ttl_exp tenure not_smsa south yd*, fe vce(cluster idcode)sisi
importers
estadd local Cluster 'Yes',replace
estadd local Year_FE 'Yes',replace
estadd local Fixed_Effect 'Yes',replace
est store m3
esttab m1 m2 m3, star(* 0.1 ** 0.05 *** 0.01) b(%6.3f) t(%6.3f) compress nogap ///
drop(yd*) stats(Year_FE Fixed_Effect Cluster N r2_a, fmt(%3s %3s %3s %12.0f %9.3f)) /// varwidth(20) title('Table1 Wage') mtitle('OLS' 'OLS' 'FE')
输出结果如下:
esttab系列命令选项较多,功能强⼤,具体细节还需读者通过help学习。⼩编觉得⾃⼰的程序和⼤神
的相⽐,之间差了好多好多个有⽤的命令,如果你也和⼩编⼀样,别担⼼,快来我们的公
众号把这些好⽤的命令都收进你的程序⾥~