esttab命令输出边际效应2017-05-29 15:53
转自:http://www.sohu.com/a/144484890_697896
近期,有亲故问到:如何将logit模型的边际效应用esttab命令输出到Word表格中呢?在之前的推文中,我们介绍了用esttab输出回归结果、相关系数、描述性统计等等,今天再为大家介绍一下如何输出边际效应。
一
logit回归
首先,我们先做个logit回归:
webuse lbw
logit low age lwt i.race smoke ptl ht ui

二
边际效应
然后计算边际效应,在这里我们将使用命令margins。margins命令可以估计指定协变量的边际效应并将其以表格的形式显示,语法:
margins [marginlist] [if] [in] [weight] [, response_options options]

简单栗子:
margins race

margins命令十分强大,但也复杂,参数非常多。
我们可以使用 dydx(varlist) 估计变量的边际效应;eyex(varlist)估计变量的弹性;dyex(varlist)估计变量的半弹性(d(y)/d(lnx));eydx(varlist)估计变量的半弹性(d(lny)/d(x))。
此外,在求边际效应时,我们可以使用at()选项,指定在某种特定情况下,如指定协变量特定值来求解边际效应。比如
margins, dydx(smoke) at(age=20) //在age等于20时求smoke的边际效应

over(varlist)则计算在varlist每一值的情况下求解边际效应。如:
margins, dydx(smoke) over(race) //在race的每一值下求smoke的边际效应

margins命令还有很多选项,可以根据自己设定的模型和数据添加相应的选项。
三
输出结果
在这里我们使用命令margins,dydx(*)来求上面logit回归的所有变量的边际效应并将边际效应结果输出。

如果我们想要将边际效应结果输出到Word中,我们需要使用estpost命令。我们可以输出边际效应结果的系数、t值。
estpost margins, dydx(*)
esttab using d:/Marginal.rtf, cell("b(star fmt(3)) t") pr2 ///
replace compress nogap star( * 0.10 ** 0.05 *** 0.01 ) title("Marginal Effect")


上面只输出了一个边际效应结果,但在实际中我们也许会想将多个边际效应结果放在一个表格里。此时,我们需要结合eststo命令。
clear
set more off
webuse lbw
logit low age lwt i.race smoke ptl ht ui
eststo:estpost margins, dydx(race)
logit low age lwt i.race smoke ptl ht ui
eststo:estpost margins,dydx(race age)
logit low age lwt i.race smoke ptl ht ui
eststo:estpost margins,dydx(*)
esttab est1 est2 est3 using d:/Marginal1.rtf, cell("b(star fmt(3))") pr2 ///
replace compress nogap star( * 0.10 ** 0.05 *** 0.01 ) title("Marginal Effect")
这个过程我们将race、race和age、以及所有变量的边际效应都放在了一个表中。其中est1 、est2、est3 为eststo命令自动储存的估计结果。

以上就是将边际效应输出的全部过程,大家可以试一下并研究一下神奇的margins命令。
以上就是今天给大家分享的内容了,说得好就赏个铜板呗!有钱的捧个钱场,有人的捧个人场~。
应广大粉丝要求,爬虫俱乐部的推文公众号打赏功能可以开发票啦,累计打赏超过1000元我们即可给您开具发票,发票类别为“咨询费”。用心做事,只为做您更贴心的小爬虫。第一批发票已经寄到各位小主的手中,大家快来给小爬虫打赏呀~