全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
767 0
2023-01-13
代码:
set mat 500
mat b = J(500,1,0)
mat se = J(500,1,0)  
mat p = J(500,1,0)
  forvalues i=1/500{
use "C:\Users\38222\Desktop\12-18(4).dta", clear
xtset id year  
keep if year==2018   
sample 49, count   
keep id  
save match_id.dta, replace   
merge 1:m id using "C:\Users\38222\Desktop\12-18(4).dta"
gen treat1 = (_merge == 3) \\在这一步出现了问题
gen period = (year >= 2014)
gen did1 = treat1*period
reghdfe happiness did $person ,absorb(id year) vce(cluster id)

能够正常运行,但是无法出现数据(如图1)
安慰剂检验1.png


但如果把原代码中的gen treat1 = (_merge == 3) \\在这一步出现了问题
gen period = (year >= 2014)
gen did1 = treat1*period
改为replace  treat = (_merge == 3)
replace period = (year >= 2014)
replace did = treat*period
可以运行,但是不通过检验(如图2)
placebo_test_Coefficient2.png

是根据网上代码进行跑的~ 原代码是gen treat = (_merge == 3)
gen period = (year >= 2014)
gen did = treat*period

但是因为我这样运行 会显示treat、did变量已存在 所以自己在后面加了一个1(即treat1、did1)但是却跑不出来
可以问问各位大神 代码哪里有错吗

附件列表
placebo_test_Coefficient2.png

原图尺寸 30.32 KB

placebo_test_Coefficient2.png

placebo_test_Coefficient2.png

原图尺寸 30.32 KB

placebo_test_Coefficient2.png

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群