楼主: Answer_lsh
20697 22

[回归分析求助] Stata如何随机生成实验组并重复1000次作为安慰剂检验?并绘制回归结果分布图? [推广有奖]

11
Lilrshs 发表于 2020-8-6 09:47:11
请问楼主解决了吗。

12
简单2017飞 发表于 2020-11-8 17:16:09
** 这是随机指定treat变量的代码 **
forvalue i=1/LOOP_TIME{ //loop_time处填入你要进行安慰剂检验的次数
    use "simdid.dta", clear  //调入数据
    drop treat //去掉原来DID中的post变量
        gen random_digit1=ceil(runiform(1,285)) //生成随机数,我这里treat+control group共有285个个体
        g new_treat=0
        forvalue j=1/28{ //指定28个个体为treatment group
                replace new_treat=1 if citycode==random_digit1[`j']
        }

    * 合并,回归,提取系数 *
        
        set matsize 11000
        g x = post*new_treat
        reg y i.post i.new_treat x,vce(cluster citycode)
        g _b_new_treat = _b[x]  //提取x的回归系数
        g _se_new_treat = _se[x] //提取x的标准误
        keep _b_new_treat  _se_new_treat
        duplicates drop _b_new_treat, force
        save placebo`i', replace  //把第i次placebo检验的系数和标准误存起来
}
   
* 纵向合并loop_time次的系数和标准误 *
use placebo1, clear
forvalue i=2/loop_time{
    append using placebo`i' //纵向合并1000次回归的系数及标准误
}  

gen tvalue= _b_new_treat/ _se_new_treat
kdensity tvalue, xtitle("t值") ytitle("分布") tline(-15.253 , lp(dash) lc(black) ) tlabel(-15.253 , add  labsize(*.75)) // 我基准回归的值为-15.253
   
* 删除临时文件 *
forvalue i=1/loop_time{
    erase  placebo`i'.dta
}
save 123.dta,replace

13
maoqiqiudenver 发表于 2020-11-23 15:11:55
简单2017飞 发表于 2020-11-8 17:16
** 这是随机指定treat变量的代码 **
forvalue i=1/LOOP_TIME{ //loop_time处填入你要进行安慰剂检验的次数 ...
请问里面提到的基准回归值-15.253是怎么得到的,谢谢

14
changanbianji 发表于 2020-12-3 21:21:58
请问楼主,这篇原文的题目是什么??

15
XZZ渣 学生认证  发表于 2020-12-11 00:34:49
简单2017飞 发表于 2020-11-8 17:16
** 这是随机指定treat变量的代码 **
forvalue i=1/LOOP_TIME{ //loop_time处填入你要进行安慰剂检验的次数 ...
你好,能请教你的这个随机生成实验组的问题吗?我的qq是1422126658

16
XZZ渣 学生认证  发表于 2020-12-11 01:33:50
简单2017飞 发表于 2020-11-8 17:16
** 这是随机指定treat变量的代码 **
forvalue i=1/LOOP_TIME{ //loop_time处填入你要进行安慰剂检验的次数 ...
为什么我最后生成的回归系数和标准差都是一样的,能不能联系我一下,帮我解决一下,毕业论文急1422126658

17
XZZ渣 学生认证  发表于 2020-12-11 01:37:25
简单2017飞 发表于 2020-11-8 17:16
** 这是随机指定treat变量的代码 **
forvalue i=1/LOOP_TIME{ //loop_time处填入你要进行安慰剂检验的次数 ...
你的citycode是新生成的变量还是原来数据里面有的呀

18
jxj750561 发表于 2020-12-17 18:19:28
请教一下大家,为何我做的时候总是显示file placebo2 not found

19
boundlessly 学生认证  发表于 2021-2-7 23:13:51 来自手机
简单2017飞 发表于 2020-11-8 17:16
** 这是随机指定treat变量的代码 **
forvalue i=1/LOOP_TIME{ //loop_time处填入你要进行安慰剂检验的次数 ...
您好,最终只要看Kdensity图就可以了吗,还是有什么方法可以检验安慰剂是否成功

20
咪咕噜噜噜 发表于 2021-2-25 11:07:16
jxj750561 发表于 2020-12-17 18:19
请教一下大家,为何我做的时候总是显示file placebo2 not found
请问你这个问题解决了吗?我也遇到了,期待回复,谢谢!!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-1 08:13