说明
本文代码参考微信公众号学术小白的推文《双重差分平行趋势如何添加基期》(链接:https://mp.weixin.qq.com/s/a9frc-GrL5jGgnupl5WsIw)。
虽然上述推文为我们提供了非常棒的解决方法,但是可以发现横坐标刻度标签并不是我们想要的样子。因此,本文主要是解决了横坐标的刻度标签问题,更改成对应的年份。
本文仅用于个人学术研究,也供大家参考。
情境定义
样本期间:2007-2012年
政策冲击:2010年;选择2009年作为基期
y是结果变量
treat是实验组的虚拟变量,即若为实验组则为1;否则为0
x为控制变量
stkcd为公司代码;year为年度变量
stata代码
reghdfe y c.treat##ib2009.year x , absorb( stkcd year) vce (cluster stkcd) // 回归模型
coefplot, baselevels omitted ///
keep(*.year#c.treat) ///
vertical recast(connect) color(gs0) ///
yline(0, lp(solid) lc(gs0) lw(thin)) xline(2009, lp(solid) lc(gs0) lw(thin)) ///
ytitle("估计系数") ylabel(-0.15(0.1)0.2, format(%6.2f)) ///
xtitle("年份") xlabel(1 "2007" 2 "2008" 3 "2009" 4 "2010" 5 "2011" 6 "2012") ///
ciopts(recast(rline) lc(gs0) lp(dash) lw(thin)) scale(1.2) xscale(titlegap(tiny))
图形展示
注意点
回归模型可以根据自己的研究更改。
#ib2009.year是选择2009年为基期的意思,可以运行一下回归代码,观察一下回归结果,会发现没有该年的交乘项。如果不需要单独放年份和treat的变量,可以只用一个#,即c.treat#ib2009.year。
如何让横坐标变成想要的年份,即更改横坐标刻度标签。可以使用 xlabel(1 "2007" 2 "2008" 3 "2009" 4 "2010" 5 "2011" 6 "2012")。因为stata系统默认我们2007-2012年6个年度分别为1-6,所以我们从新定义一下数据标签即可(可以类推)。
纵坐标刻度和格式可以根据自己论文的回归系数95%的置信区间范围修改。
联系客服