代码:
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)
但如果把原代码中的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)
是根据网上代码进行跑的~ 原代码是gen treat = (_merge == 3)
gen period = (year >= 2014)
gen did = treat*period
但是因为我这样运行 会显示treat、did变量已存在 所以自己在后面加了一个1(即treat1、did1)但是却跑不出来
可以问问各位大神 代码哪里有错吗