917968079 发表于 2023-4-1 12:16 
你这明显有问题,检查下代码
你好,可以帮我看下代码么,救救我吧,感谢

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\Yu\Desktop\2.20数据.dta, clear
xtset id year
bsample 1, strata(id)
keep year
save matchyear.dta, replace
mkmat year, matrix(sampleyear)
use C:\Users\Yu\Desktop\2.20数据.dta, clear
xtset id year
gen DID = 0
foreach j of numlist 1/18 {
replace DID = 1 if (id == `j' & year >= sampleyear[`j',1])
}
qui xtreg y DID x1-x5, fe
mat b[`i',1] = _b[DID]
mat se[`i',1] = _se[DID]
scalar df_r = e(N) - e(df_m) -1
mat p[`i',1] = 2*ttail(df_r,abs(_b[DID]/_se[DID]))
}
*绘图
svmat b, names(coef)
svmat se, names(se)
svmat p, names(pvalue)
drop if pvalue1 == .
label var pvalue1 p值
label var coef1 估计系数
# delimit ;
twoway (scatter pvalue1 coef1, xline(0.2142 , lwidth(0.2) lp(shortdash))
xlabel(-0.4(0.1)1.0, grid) xtitle(估计系数) ytitle(p值)
msymbol(smcircle_hollow) legend(off))
(kdensity coef1, title(安慰剂检验))
;
# delimit cr