version 16.0 clear set more off import delimited using "独立练习_模拟门店.csv", varnames(1) encoding("utf-8") asdouble clear isid 门店编号 时期 assert _N == 16 assert inlist(组别,"试点组","参照组") & inlist(时期,"政策前","政策后") bysort 门店编号: assert _N == 2 bysort 门店编号: assert 组别 == 组别[1] generate byte treat = (组别 == "试点组") generate byte post = (时期 == "政策后") collapse (mean) avgfte=全职当量 (count) stores=全职当量, by(treat post) isid treat post assert _N == 4 & stores == 4 list treat post stores avgfte, noobs * 步骤六:模拟的四格回归只用于检查运算 regress avgfte ib0.treat##ib0.post scalar simulated_did = _b[1.treat#1.post] assert abs(simulated_did-3) < 0.00000001 assert e(df_r) == 0 display "模拟DID = " %9.4f simulated_did rename treat 处理组 rename post 政策后 rename avgfte 每店平均全职当量 rename stores 门店数 export delimited using "Stata模拟四格结果.csv", replace