实证论文复刻|stata安慰剂检验

文章及代码来源:中国工业经济《税收征管数字化与企业内部薪酬差距》

目录

随机抽取对照组和实验组

随机设定政策时点

先po完整代码

*随机抽取对照组和控制组
forvalue i=1/500{
    sysuse 数据1.dta, clear 
    g obs_id= _n //初始样本序号
    gen random_digit= runiform() //生成随机数
    sort random_digit  //按新生成的随机数排序
    g random_id= _n  //产生随机序号
    preserve
        keep random_id gtp //保留虚拟的gtp
        rename gtp random_gtp
        rename random_id id //重命名为id,以备与其他变量合并(merge)
        label var id 原数据与虚拟处理变量的唯一匹配码
        save random_gtp, replace
    restore 
        drop random_digit random_id gtp //删除原来的gtp
        rename obs_id id //重命名为id,以备与random_rd合并(merge)
        label var id 原数据与虚拟处理变量的唯一匹配码
        save rawdata, replace 
    *- 合并,回归,提取系数
        use rawdata, clear
        merge 1:1 id using random_gtp,nogen
        xtreg gap random_gtp size lev roa labor age cash indratio top1 soe olddep avgwage lnpgdp i.year i.ind i.prov,fe vce(cluster code)
         g _b_random_gtp= _b[random_gtp]  //提取x的回归系数
        g _se_random_gtp= _se[random_gtp] //提取x的标准误
		gen pvalue=2*ttail(e(df_r), abs(_b[random_gtp]/_se[random_gtp]))
        keep _b_random_gtp _se_random_gtp pvalue
        duplicates drop _b_random_gtp, force
		drop if pvalue ==.
        save placebo`i', replace  //把第i次placebo检验的系数和标准误存起来				
}
*- 纵向合并500次的系数和标准误 
use placebo1, clear
forvalue i=2/500{
    append using placebo`i' //纵向合并500次回归的系数及标准误
    }
rename  _b_random_gtp coef1
twoway (kdensity coef1,yaxis(1)) (scatter pvalue coef1, msymbol(smcircle_hollow) yaxis(2)  mcolor(blue)), ///
title(Placebo Test) ///
xlabel(-0.13(0.05)0.06) ylabel(,axis(1) angle(0)) ylabel(0(1)5,axis(2)) ///
xline(-0.1152, lwidth(vthin) lp(shortdash)) xtit
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值