Stata:如何展示回归系数和置信区间

不少小伙伴遇到过这样的问题,做完回归之后想展示下回归系数和置信区间,绘制一幅类似这样的图:

用 Stata 如何实现呢?

最近一个小伙伴的问题是这样的:

就是 logit 回归后求出边际效应,进而想画个这个图。

我随便举个例子:

webuse lbw, clear
logit low age lwt smoke ptl ht ui
*> Iteration 0: log likelihood = -117.336
*> Iteration 1: log likelihood = -104.7002
*> Iteration 2: log likelihood = -104.39685
*> Iteration 3: log likelihood = -104.39591
*> Iteration 4: log likelihood = -104.39591
*>
*> Logistic regression Number of obs = 189
*> LR chi2(6) = 25.88
*> Prob > chi2 = 0.0002
*> Log likelihood = -104.39591 Pseudo R2 = 0.1103
*>
*> ------------------------------------------------------------------------------
*> low | Coef. Std. Err. z P>|z| [95% Conf. Interval]
*> -------------+----------------------------------------------------------------
*> age | -.0422544 .0345836 -1.22 0.222 -.110037 .0255281
*> lwt | -.0142885 .0066523 -2.15 0.032 -.0273267 -.0012502
*> smoke | .5506312 .3436293 1.60 0.109 -.1228697 1.224132
*> ptl | .5932548 .3484191 1.70 0.089 -.089634 1.276144
*> ht | 1.862491 .6862291 2.71 0.007 .5175064 3.207475
*> ui | .7367904 .4564882 1.61 0.107 -.15791 1.631491
*> _cons | 1.37896 1.088893 1.27 0.205 -.7552312 3.513151
*> ------------------------------------------------------------------------------

最快速的方法是我们可以使用 coefplot 命令,这个命令可以使用 ssc 安装:

ssc install coefplot

然后就可以使用了:

coefplot, yti("变量") xti("系数估计值 + 95% 置信区间") ///
xline(0)

绘制两组置信区间也没问题:

coefplot, yti("变量") xti("系数估计值 + 95% 置信区间") ///
xline(0) levels(99 95)

这个命令还有很多拓展用法,详情可以参考其帮助文档。

更底层的方法是我们可以在回归之后将返回值中的矩阵转换为 dta 数据绘图:

webuse lbw, clear
logit low age lwt smoke ptl ht ui
ret list
mat m = r(table)
mat l m

*- 将这个数据框转换为 dta 数据
clear
input str10 var
"age"
"lwt"
"smoke"
"ptl"
"ht"
"ui"
"_cons"
end

gen b = .
gen ll = .
gen ul = .

forval i = 1/7{
replace b = m[1, `i'] in `i'
replace ll = m[5, `i'] in `i'
replace ul = m[6, `i'] in `i'
}

encode var, gen(varn)

tw rspike ll ul varn, horizontal || ///
sc varn b, leg(off) m(o) ///
yla(, val) yti("变量") xti("系数估计值 + 95% 置信区间") ///
xline(0)

虽然过程麻烦了点,但是掌握了你就可以随心所欲处理各种 Stata 命令运行得到的返回值了。

点击这里跳转到 RStata 短书平台获取附件:Stata:如何展示回归系数和置信区间

评论