# Stata：回归结果中不报告行业虚拟变量的系数

Stata 连享会   主页 || 视频 || 推文

## 2. 解决方法 1

### 2.1 esttab 命令输出结果的原理

``````
. sysuse "nlsw88.dta", clear
(NLSW, 1988 extract)

. reg wage ttl_exp married

Source |       SS           df       MS      Number of obs   =     2,246
-------------+----------------------------------   F(2, 2243)      =     85.79
Model |  5284.82149         2  2642.41074   Prob > F        =    0.0000
Residual |  69083.1459     2,243  30.7994409   R-squared       =    0.0711
Total |  74367.9674     2,245  33.1260434   Root MSE        =    5.5497
------------------------------------------------------------------------------
wage |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
ttl_exp |      0.330      0.025    12.95   0.000        0.280       0.379
married |     -0.291      0.245    -1.19   0.235       -0.771       0.189
_cons |      3.823      0.383     9.99   0.000        3.072       4.574
------------------------------------------------------------------------------

. ereturn list   //内存中的返回值

scalars:
e(N) =  2246
e(df_m) =  2
e(df_r) =  2243
e(F) =  85.79411399585418
e(r2) =  .0710631427762836
e(rmse) =  5.549724397561928
e(mss) =  5284.821485260705
e(r2_a) =  .0702348441965032
e(ll) =  -7034.513553793961
e(ll_0) =  -7117.294949670642
e(rank) =  3

macros:             ... ...

matrices:
e(b) :  1 x 3
e(V) :  3 x 3
functions:          ... ...
``````

``````. esttab, nogap scalar(N df_m F r2)
----------------------------
(1)
wage
----------------------------
ttl_exp             0.330***
(12.95)
married            -0.291
(-1.19)
_cons               3.823***
(9.99)
----------------------------
N                    2246
df_m                    2
F                   85.79
r2                 0.0711
----------------------------
t statistics in parentheses
* p<0.05, ** p<0.01, *** p<0.001
``````

### 2.2 在内存中新增统计量

``````. sysuse "nlsw88.dta", clear
. reg wage ttl_exp married
*-在内存中加入第一个返回值
*-在内存中加入第二个返回值
. qui sum wage
. estadd scalar Mean_Wage = r(mean)
. ereturn list  //呈现内存中的返回值
``````

### 2.3 Stata实例

``````sysuse "nlsw88.dta", clear

*-分组回归
global xx "ttl_exp married south hours tenure age i.industry"
reg wage \$xx if race==1
est store m1
reg wage \$xx if race==2
est store m2
reg wage \$xx i.occupation if race==1
est store m3
reg wage \$xx i.occupation if race==2
est store m4

*-结果呈现
local s  "using Table03.rtf"  // 输出到word文档
local m  "m1 m2 m3 m4"        // 模型名称
local mt "White Black White Black" //模型标题
esttab `m', mtitle(`mt') b(%6.3f) nogap compress  ///
star(* 0.1 ** 0.05 *** 0.01)  ///
drop(*.industry *.occupation) ///
ar2 scalar(N Industry Occupation)
``````

## 3. 解决方法 2 (更为简洁): 使用 esttab 命令的 indicate() 选项

`esttab` 命令中有一个隐藏的选项 `indicate()`，在其帮助文件中是查不到的，但却能很好的解决我们这个例子中的需求。`esttab`命令中增加了如下选项：

``````indicate("行业效应 =*.industry" "职业效应 =*.occupation" )
``````

``````clear all
sysuse "nlsw88.dta", clear
*-分组回归
global xx "ttl_exp married south hours tenure age i.industry"
reg wage \$xx if race==1
est store m1
reg wage \$xx if race==2
est store m2
reg wage \$xx i.occupation if race==1
est store m3
reg wage \$xx i.occupation if race==2
est store m4
*-输出结果
local s  "using Table03.rtf"  // 输出到word文档
local m  "m1 m2 m3 m4"        // 模型名称
local mt "White Black White Black" //模型标题
esttab `m' `s', mtitle(`mt') b(%6.3f) nogap compress  ///
star(* 0.1 ** 0.05 *** 0.01)  ///
ar2 scalar(N) replace         ///
indicate("行业效应 =*.industry" "职业效应 =*.occupation" )
``````

## 相关课程

http://lianxh.duanshu.com

### 课程一览

Note: 部分课程的资料，PPT 等可以前往 连享会-直播课 主页查看，下载。

### 关于我们

• Stata连享会 由中山大学连玉君老师团队创办，定期分享实证分析经验。直播间 有很多视频课程，可以随时观看。
• 连享会-主页知乎专栏，300+ 推文，实证分析不再抓狂。
• 公众号推文分类： 计量专题 | 分类推文 | 资源工具。推文分成 内生性 | 空间计量 | 时序面板 | 结果输出 | 交乘调节 五类，主流方法介绍一目了然：DID, RDD, IV, GMM, FE, Probit 等。
• 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标，输入简要关键词，以便快速呈现历史推文，获取工具软件和数据下载。常见关键词：`课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法`

✏ 连享会学习群-常见问题解答汇总：
https://gitee.com/arlionn/WD