楼主: 2017218473
1454 0

[编程问题求助] 随机生成实验组 安慰剂检验 [推广有奖]

  • 5关注
  • 0粉丝

大专生

98%

还不是VIP/贵宾

-

威望
0
论坛币
79 个
通用积分
0.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
88 点
帖子
8
精华
0
在线时间
131 小时
注册时间
2020-6-29
最后登录
2025-11-10

楼主
2017218473 发表于 2022-7-8 10:57:53 |AI写论文
5论坛币
求助各位大大,stata进行随机生成实验组的安慰剂检验时,循环了500次,为什么从第二次开始得到的伪DID项的系数和标准误就一模一样了呀 困扰很久了 请各位大大指点一二  参考代码如下:

  forvalue i = 1/1000 {      use smart_city2018.dta, clear      preserve          keep if year   == 2005          gen  randomvar = runiform()          sort randomvar          keep if id in 1/32          keep    id          save    id_random.dta, replace  // 数据集仅保留随机化后的id      restore      merge m:1 id using id_random.dta  // 将随机化id合并至原数据集      gen  treat  = (_merge == 3)      gen  did    = treat * dt      qui  reghdfe lnrso did $ctrlvars2 , absorb(id year) cluster(id)      gen  b_did  = _b[did]   // 提取单次回归后did的系数      gen  se_did = _se[did]  // 提取单次回归后did的标准误      keep b_did se_did      duplicates drop b_did, force      save placebo_`i'.dta, replace      }  erase id_random.dta  use placebo_1.dta, clear  forvalue k = 2/1000 {      append using placebo_`k'.dta  // 将1,000次回归后did的系数和标准误纵向合并(append)至单独的数据集(placebo_1.dta)      erase        placebo_`k'.dta      }

关键词:安慰剂 实验组 duplicates duplicate forvalue

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

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