1.引言
一篇实证论文中,最基本也是最重要的部分就是展示 Stata 中得出的统计分析、回归结果等表格。但自己动手做表格往往非常繁琐,Word 排版也常常令人抓狂。而 outreg2
命令可以让 Stata 自动输出我们想要的表格,为你解决所有结果输出的烦恼。因此,熟练掌握 outreg2
命令对我们快速导出 Stata 结果,一步到位的完成实证结果展示有莫大帮助。
2. outreg2 命令代码及实例
2.1 描述性分析
首先我们介绍描述性统计分析表格的输出,一般实证论文都选择展示全部变量的一般统计指标,这里我们将各种情况都罗列出来,并利用 Stata 自带的 1978 年美国汽车交易数据 auto.dta 为大家进行实例演示,方便大家全面了解 outreg2
命令。
2.1.1全部变量一般统计指标
outreg2 using xxx.doc,replace sum(log) title(Decriptive statistics)
- xxx.doc 为输出文件名为 xxx 的 word 文档命令。类似得,如果需要输出为 excel 表格则更改代码为 xxx.xsl 即可。
sum(log)
即输出一般统计指标命令,一般统计指标包括样本数、中值、标准误、最大值和最小值。title(Decriptive statistics)
为自定义输出表格的名称命令,可在括号内自行编辑表格名称。
2.1.2 部分变量一般统计指标输出
- 代码
outreg2 using xxx.doc, replace sum(log) keep(var1 var2 var3) title(Decriptive statistics)
keep(var1 var2 var3)
为保留部分变量输出命令,其中 var1var2var3 是我们所需要保留的变量名称。- xxx.doc 为输出文件名为 xxx 的 word 文档命令。类似得,如果需要输出为 excel 表格则更改代码为 xxx.xsl 即可。
title(Decriptive statistics)
为自定义输出表格的名称命令,可在括号内自行编辑表格名称。
2.1.3 全部统计指标输出
- 代码
outreg2 using xxx.doc, replace sum(detail) title(Decriptive statistics)
sum(detail)
为输出全部统计指标命令,除去一般统计指标外还包括方差、偏度、峰度、极差等指标。- xxx.doc 为输出文件名为 xxx 的 word 文档命令。类似得,如果需要输出为 excel 表格则更改代码为 xxx.xsl 即可。
title(Decriptive statistics)
为自定义输出表格的名称命令,可在括号内自行编辑表格名称。
2.1.4 部分变量部分统计指标输出
- 代码
outreg2 using xxx.doc, replace sum(log) keep(var1 var2 var3) eqkeep(N min mix) title(Decriptive statistics)
eqkeep(N min mix)
为保留部分统计指标输出命令,这里我们以样本数、最大值和最小值为例。keep(var1 var2 var3)
为保留部分变量输出命令,同时利用keep()
和eqkeep()
命令进行限定即可进行部分变量和部分统计指标输出。- xxx.doc 为输出文件名为 xxx 的 word 文档命令。类似得,如果需要输出为 excel 表格则更改代码为 xxx.xsl 即可。
title(Decriptive statistics)
为自定义输出表格的名称命令,可在括号内自行编辑表格名称。
2.1.5 分组描述
- 代码
bysort var1: outreg2 using xxx.doc, replace sum(log) title(Decriptive statistics)
bysort var1
为按照变量 var1 进行分组命令,在实例中我们以是否为国外品牌进行分组描述。- 若论文中需要描述部分变量或部分统计指标时,同样可以添加前文所述
keep()
和eqkeep()
命令,此处不再赘述。 - xxx.doc 为输出文件名为 xxx 的 word 文档命令。类似得,如果需要输出为 excel 表格则更改代码为 xxx.xsl 即可。
title(Decriptive statistics)
为自定义输出表格的名称命令,可在括号内自行编辑表格名称。.
2.1.6 频数
频数是指落入不同组的个体数。
outreg2 var1 using xxx.doc, replace cross title(Decriptive statistics)
- 代码中 var1 即所需描述频数的分组变量。
- xxx.doc 为输出文件名为 xxx 的 word 文档命令。类似得,如果需要输出为 excel 表格则更改代码为 xxx.xsl 即可。
title(Decriptive statistics)
为自定义输出表格的名称命令,可在括号内自行编辑表格名称。
连享会 最新专题 直播
2.2 回归结果输出
2.2.1 线性回归结果输出
reg price mpg
outreg2 using xxx.doc,replace tstat bdec(3) tdec(2) ctitle(y)
ctitle
为自定义表格内标题命令,如果不进行设定则直接输出为被解释变量名。- xxx.doc 为输出文件名为 xxx 的 word 文档命令。类似得,如果需要输出为 excel 表格则更改代码为 xxx.xsl 即可。
- 按照
outreg2
命令输出的表格内相关系数下括号内数字为标准误,因此我们一般利用命令tstat
将其更改为 t 值。 outreg2
命令输出时默认相关系数和 t 值都保留 3 位有效数字,而一般期刊要求相关系数保留 3 位有效数字,t 值保留 2 位有效数字,因此我们利用bdec(3)
和tdec(2)
命令限定。
2.2.2 面板固定效应回归结果输出
webuse grunfeld,clear
xtset company year
xtreg invest mvalue kstock,fe robust
outreg2 using xxx.doc,replace tstat bdec(3) tdec(2) ctitle(y) keep(invest mvalue kstock) addtext(Company FE, YES )
同理,若要同时控制时间固定效应代码如下:
webuse grunfeld,clear
xtset company year
xtreg invest mvalue kstock i.year,fe robust
outreg2 using xxx.doc,replace tstat bdec(3) tdec(2) ctitle(y) keep(invest mvalue kstock) addtext(Company FE, YES,Year FE, YES)
addtext
为在表中增加信息命令,由于 Stata 进行固定效应回归后单纯利用outreg2
命令输出不会展示是否控制固定效应,因此我们需要利用addtext
命令追加。keep()
命令的作用是保持输出表格简洁,括号中是所有需要展示的变量。ctitle
为自定义表格内标题命令,如果不进行设定则直接输出为被解释变量名。- xxx.doc 为输出文件名为 xxx 的 word 文档命令。类似得,如果需要输出为 excel 表格则更改代码为 xxx.xsl 即可。
- 按照
outreg2
命令输出的表格内相关系数下括号内数字为标准误,因此我们一般利用命令tstat
将其更改为 t 值。 outreg2
命令输出时默认相关系数和 t 值都保留 3 位有效数字,而一般期刊要求相关系数保留 3 位有效数字,t 值保留 2 位有效数字,因此我们利用bdec(3)
和tdec(2)
命令限定。
2.2.3 逐步增加变量回归合并输出
reg price mpg outreg2 using xxx.doc,replace tstat bdec(3) tdec(2) ctitle(y) reg price mpg rep78 outreg2 using xxx.doc,append tstat bdec(3) tdec(2) ctitle(y)
append
为合并命令,在实例中我们先进行了 price 和 mpg 两个变量回归,之后增加变量 rep78 回归后再利用outreg2
+append
命令进行合并输出。ctitle
为自定义表格内标题命令,如果不进行设定则直接输出为被解释变量名。- xxx.doc 为输出文件名为 xxx 的 word 文档命令。类似得,如果需要输出为 excel 表格则更改代码为 xxx.xsl 即可。
- 按照
outreg2
命令输出的表格内相关系数下括号内数字为标准误,因此我们一般利用命令tstat
将其更改为 t 值。 outreg2
命令输出时默认相关系数和 t 值都保留 3 位有效数字,而一般期刊要求相关系数保留 3 位有效数字,t 值保留 2 位有效数字,因此我们利用bdec(3)
和tdec(2)
命令限定。
2.2.4 不同模型回归结果合并输出
webuse grunfeld,clear xtset company year reg invest mvalue kstock,robust outreg2 using xxx.doc,replace tstat bdec(3) tdec(2) ctitle(OLS) xtreg invest mvalue kstock,fe robust outreg2 using xxx.doc,append tstat bdec(3) tdec(2) ctitle(FE) addtext(Company FE, YES) xtreg invest mvalue kstock i.year,fe robust outreg2 using xxx.doc,append tstat bdec(3) tdec(2) ctitle(FE) keep(invest mvalue kstock) addtext(Company FE, YES,Year FE, YES)
- 与逐步增加变量合并输出相类似,不同模型回归结果输出也是利用
append
命令。 - 利用
ctitle
可将标题命名为模型名称。 - 固定效应回归后需利用
addtext
增加是否控制固定效应信息。 - xxx.doc 为输出文件名为 xxx 的 word 文档命令。类似得,如果需要输出为 excel 表格则更改代码为 xxx.xsl 即可。
- 按照
outreg2
命令输出的表格内相关系数下括号内数字为标准误,因此我们一般利用命令tstat
将其更改为 t 值。 outreg2
命令输出时默认相关系数和 t 值都保留 3 位有效数字,而一般期刊要求相关系数保留 3 位有效数字,t 值保留 2 位有效数字,因此我们利用bdec(3)
和tdec(2)
命令限定。
2.2.5 包含两阶段回归的结果输出——以 2SLS 为例
- 第一阶段回归结果输出代码
ivregress2 2sls y var3 (var1=var2), first
est restore first
outreg2 using xxx.doc, cttop(first) tstat bdec(3) tdec(2) replace
- 第二阶段回归结果输出代码
ivregress2 2sls y var3 (var1=var2), first
outreg2 using xxx.doc, cttop(two) tstat bdec(3) tdec(2) replace
sysuse auto ivregress2 2sls mpg weight (length=displacement),first est restore first outreg2 using xxx.doc,cttop(first) tstat bdec(3) tdec(2) replace ivregress2 2sls mpg weight (length=displacement), first outreg2 using xxx.doc,cttop(two) tstat bdec(3) tdec(2)
- 两阶段回归输出时,若只展示第二阶段回归,则直接利用第二阶段回归输出代码即可。如需展示第一阶段回归结果,则可以利用实例中所示方法,利用命令先将第一阶段回归结果保存输出,再输出第二阶段回归结果。实例中去掉了第二阶段输出时的
replace
这样就可以将两阶段结果输出在一张表上。 - 按照
outreg2
命令输出的表格内相关系数下括号内数字为标准误,因此我们一般利用命令tstat
将其更改为 t 值。 outreg2
命令输出时默认相关系数和 t 值都保留 3 位有效数字,而一般期刊要求相关系数保留 3 位有效数字,t 值保留 2 位有效数字,因此我们利用bdec(3)
和tdec(2)
命令限定。
2.2.6 自定义统计量的输出
前文所介绍的输出命令下 Stata 默认输出相关系数、标准误、样本数和 R 平方,并保留 3 位有效数字。但根据实际情况,有些论文需要报告伪 R 平方、F值,或者更改相关系数和t值有效数字位数,这里我们进一步为大家介绍自定义统计量输出命令。
- 更改有效数字位数实例
sysuse auto
reg price mpg rep78
outreg2 using xxx.doc,replace tstat ctitle(y) bdec(4) tdec(5)
- 在 logit 估计之后报告伪 R 平方实例
sysuse auto, clear logit foreign price trunk weight outreg2 using xxx.doc,replace tstat bdec(3) tdec(2) addstat(Pseudo R-squared, `e(r2_p)')
- logit 模型回归是没有 R 方的,因此在报告时我们需要输出伪 R 方的值,在正常输出回归表格代码后增加
addstat()
命令可以增加报告伪 R 方。 outreg2
命令输出时默认相关系数和 t 值都保留 3 位有效数字,而一般期刊要求相关系数保留 3 位有效数字,t 值保留 2 位有效数字,因此我们利用bdec(3)
和tdec(2)
命令限定。
- 回归后表格中添加 F 值、调整后 R 方 和 F 检验 P 值输出实例
sysuse auto,clear
reg price length rep78 weight
outreg2 using xxx.doc,replace tstat bdec(3) tdec(2) e(r2_a,F) addstat(F test,e(p))
- 与增加伪 R 方类似,增加 F 检验同样是利用
addstat
命令,括号内代码更换为 F test,e(p) 即可。 outreg2
命令输出时默认相关系数和 t 值都保留 3 位有效数字,而一般期刊要求相关系数保留 3 位有效数字,t 值保留 2 位有效数字,因此我们利用bdec(3)
和tdec(2)
命令限定。
*描述性统计表格输出 outreg2 using xxx.doc, replace sum(detail) keep(var1 var2 var3) eqkeep(N min mix) title(Decriptive statistics) \部分变量部分统计指标输出 *-回归结果输出 outreg2 using xxx.doc,replace tstat bdec(3) tdec(2) ctitle(y) \普通 OLS 回归结果输出 outreg2 using xxx.doc,replace tstat bdec(3) tdec(2) ctitle(y) keep(var1 var2 var3) addtext(Company FE, YES,Year FE, YES) \面板固定效应回归结果输出(个体固定效应和时间固定效应) *-逐步增加变量回归结果合并输出 outreg2 using xxx.doc,replace tstat ctitle(y) outreg2 using xxx.doc,append tstat ctitle(y) *-不同模型回归结果合并输出 outreg2 using xxx.doc,replace tstat ctitle(model1) outreg2 using xxx.doc,append tstat ctitle(model2) outreg2 using xxx.doc,append tstat ctitle(model3) *-2SLS 两阶段模型回归结果输出 ivregress2 2sls y var3 (var1=var2), first est restore first outreg2 using xxx.doc, cttop(first) replace ivregress2 2sls y var3 (var1=var2), first outreg2 using xxx.doc, cttop(two)