stata 入门(双重差分模型)

您所在的位置:网站首页 stata回归的命令 stata 入门(双重差分模型)

stata 入门(双重差分模型)

2023-03-28 19:43| 来源: 网络整理| 查看: 265

stata 入门相关命令

导入数据命令:import excel “路径”, sheet(“sheet”) firstrow case(lower)

属性切换命令:destring varname , replace force

属性值替换命令:replace var=subinstr(var,“待替换”,“替换”,.)

​ eg:replace reptdt=subinstr(reptdt,“2015-2015-12-31”,“2015”,.)

前提:安装:ssc install winsor2

​ 缩尾:winsor2 Y0601b,replace cuts(1 99)

​ 截尾:winsor2 Y0601b,replace cuts(1 99) trim

多维固定效应线性回归:reghdfe ln_y x1 x2 x3 x4 x5, absorb(year id) vce(cluster id)

(关闭more选项。如果打开该选项,那么结果分屏输出,即一次只输出一屏结果。你按空格键后再输出下一屏,直到全部输完。如果关闭则中间不停,一次全部输出。):set more off

循环数据:

forvalue i=2/3{ gen b_‘i’ = _b[eventz‘i’] }

画图

coefplot,baselevels keep(eventz*) coeflabels( eventz2=“-2” eventz3=“-1” eventz4=“0” eventz5=“1” eventz6=“2” eventz7=“3”) vertical yline(0,lwidth(vthin) lpattern(dash) lcolor(teal)) ylabel(-0.2(0.005)0.3) xline(3,lwidth(vthin) lpattern(dash) lcolor(teal)) ytitle(“处理效应系数估计值”,size(small)) xtitle(“时间(横坐标为完整T、去除系数均值后画图)”,size(small)) transform(*=@-r(mean)) addplot(line @b @at) ciopts(lpattern(dash) recast(rcap) msize(medium)) msymbol(circle_hollow) scheme(slmono)

列数据转换行数据

安装:ssc install gitee,replace

​ gitee install EmperorHeart/wind_data,replace

​ wind_data year

​ 科学计数法转成数字:format 主营营业收入 %25.0g

1. 描述性统计:outtreg2 using x.doc, replace sum(log) title(Decriptive statistics) 2. 相关性分析:ssc install logout 3. 主回归测试: use Table-1.dta,clear xtreg theil FDIshock_Post02 i.year ,fe cluster(cic3) estimate store a1 xtreg theil FDIshock_Post02 Hhi Tfpdispersion i.year ,fe cluster(cic3) estimate store a2 xtreg theil FDIshock_Post02 Hhi Tfpdispersion Npr_year Gex_year Profit_year Indnum_year i.year,fe cluster(cic3) estimate store a3 esttab a* using table-1.rtf, b(4) p(4) star(* 0.10 ** 0.05 *** 0.01) ar2(4) nogaps drop(*.year) compress replace 随机抽样: permute did beta = _b[did] se = _se[did] df = e(df_r),reps(500) rseed(123) saving("simulations.dta"):reghdfe y did, absorb(country year) vce(robust)

安慰剂检验

forvalues i=1/500{ use "C:\Users\aaa\Desktop\a.dta", clear xtset id year //面板数据声明 keep if year==2015 //保留一期数据 sample 1000, count //随机抽取32个城市 keep id //得到所抽取样本的id编号 save match_id.dta, replace //另存id编号数据 merge 1:m id using "C:\Users\aaa\Desktop\a\a.dta" //与原数据匹配 gen treat1 = (_merge == 3) //将所抽取样本赋值为1,其余为0,得到政策分组虚拟变量 gen period = (year >= 2018) //生成政策时间虚拟变量 gen did1 = treat1*period reghdfe ln_num did1 $xlist ,absorb(id year) vce(cluster id) * 将回归结果赋值到对应矩阵的对应位置 mat b[`i',1] = _b[did] //* 系数矩阵 mat se[`i',1] = _se[did] //* 标准误矩阵 * 计算P值并赋值于矩阵 mat p[`i',1] = 2*ttail(e(df_r), abs(_b[did]/_se[did])) } svmat b, names(coef) svmat se, names(se) svmat p, names(pvalue) drop if pvalue1 == . label var pvalue1 p值 label var coef1 估计系数 keep coef1 se1 pvalue1 save placebo.dta,replace //关于p值,估计系数的文件,要用作画图 drop if pvalue1 == . label var pvalue1 p值 label var coef1 估计系数 keep coef1 se1 pvalue1 save aa.dta,replace //关于p值,估计系数的文件,要用作画图 use aa.dta,clear twoway (kdensity coef1) (scatter pvalue1 coef1, msymbol(smcircle_hollow) mcolor(blue)), /// title("Placebo Test") /// xlabel(-0.04(0.01)0.04) ylabel(,angle(0)) /// xline(0.004, lwidth(vthin) lp(shortdash)) xtitle("Coefficients") /// yline(0.01,lwidth(vthin) lp(dash)) ytitle(p value) /// legend(label(1 "kdensity of estimates") label( 2 "p value")) /// plotregion(style(none)) ///无边框 graphregion(color(white)) //白底


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3