/*----------------------------------------------------------------- | DiD Method and It's Applications | | April 2021 | | Huang Wei Zhang ZiYao Liu AnRan | | | | Wirtten by Zhang ZiYao | | Required packages: reghdfe; coefplot | -----------------------------------------------------------------*/
*********************** ** 1.Generate Data ** *********************** clear all set obs 200 gen id = _n expand 20 bysort id: gen time = _n
* 生成个体固定效应 gen unit_c = runiform() if time==1 egen unit_spec = mean(unit_c), by(id)
* 协变量x根据个体固定效应生成,与个体固定效应相关 gen x = rnormal(unit_spec)
* 定义处理组为前100人,处理期为第11期 gen treat = 0 gen indicator_c = unit_c + x qui sum indicator_c,d scalar threshold = r(p50) egen indicator = mean(indicator_c), by(id) replace treat = 1 if indicator>threshold gen post = 0 replace post = 1 if time>=11 gen D = treat*post
* 生产结果变量w gen u = rnormal() // u不是error term,而是同时影响w和y的不可观测因素 gen w0 = 0 + u - runiform() gen w1 = 1 + u - runiform() gen w = (1-D)*w0 + D*w1
* 定义潜在结果y0和y1 gen y0 = 0 + unit_spec + 1*x + u + 0.1*time + runiform(0,1) gen y1 = 1 + unit_spec + 1*x + u + 0.1*time + runiform(0,1)
tab time,gen(time_) gen did1 = treat*time_1 gen did2 = treat*time_2 gen did3 = treat*time_3 gen did4 = treat*time_4 gen did5 = treat*time_5 gen did6 = treat*time_6 gen did7 = treat*time_7 gen did8 = treat*time_8 gen did9 = treat*time_9 gen did10 = treat*time_10 gen did11 = treat*time_11 gen did12 = treat*time_12 gen did13 = treat*time_13 gen did14 = treat*time_14 gen did15 = treat*time_15 gen did16 = treat*time_16 gen did17 = treat*time_17 gen did18 = treat*time_18 gen did19 = treat*time_19 gen did20 = treat*time_20
reghdfe y did1-did9 did11-did20 x , absorb(id time) vce(cluster id)
[2]Andrews, Michael, How Do Institutions of Higher Education Affect Local Invention? Evidence from the Establishment of U.S. Colleges,(Conditionally Accepted, American Economic Journal: Economic Policy,2022)