admin管理员组文章数量:1660167
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)) //白底
版权声明:本文标题:stata 入门(双重差分模型) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1729851039a1215413.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论