DDD的应用实际上非常广泛,包括我自己的文章(彭飞,许文立,吕鹏等.未预期的非税负担冲击:基于“营改增”的研究[J].经济研究,2020,55(11):67-83.)。最近,NBER上的两篇研究中国经济社会的文章(Li et al.(2024,w32162)研究高考中引入英语听力对城乡学生的入学不平等的影响;Beraja et al.(2024,w27723)研究了中国安全技术政府采购对创新的影响)都采用了DDD的研究设计。
* 运行回归 reg income T##ib2018.year,cluster(province)
* 储存回归结果 matrix b=r(table)
* 提取系数和置信区间
local coef00 = b[1, 23] local coef01 = b[1, 24] local coef02 = b[1, 25] local coef03 = b[1, 26] local coef04 = b[1, 27] local coef05 = b[1, 28] local coef06 = b[1, 29] local coef07 = b[1, 30] local coef08 = b[1, 31] local coef09 = b[1, 32]
local ll00 = b[5, 23] // Lower limit of confidence interval for coef00 local ll01 = b[5, 24] // Lower limit of confidence interval for coef01 local ll02 = b[5, 25] // Lower limit of confidence interval for coef02 local ll03 = b[5, 26] // Lower limit of confidence interval for coef03 local ll04 = b[5, 27] // Lower limit of confidence interval for coef04 local ll05 = b[5, 28] // Lower limit of confidence interval for coef05 local ll06 = b[5, 29] // Lower limit of confidence interval for coef06 local ll07 = b[5, 30] // Lower limit of confidence interval for coef07 local ll08 = b[5, 31] // Lower limit of confidence interval for coef08 local ll09 = b[5, 32] // Lower limit of confidence interval for coef09
local ul00 = b[6, 23] // Upper limit of confidence interval for coef00 local ul01 = b[6, 24] // Upper limit of confidence interval for coef01 local ul02 = b[6, 25] // Upper limit of confidence interval for coef02 local ul03 = b[6, 26] // Upper limit of confidence interval for coef03 local ul04 = b[6, 27] // Upper limit of confidence interval for coef04 local ul05 = b[6, 28] // Upper limit of confidence interval for coef05 local ul06 = b[6, 29] // Upper limit of confidence interval for coef06 local ul07 = b[6, 30] // Upper limit of confidence interval for coef07 local ul08 = b[6, 31] // Upper limit of confidence interval for coef08 local ul09 = b[6, 32] // Upper limit of confidence interval for coef09
preserve
clear set obs 10 gen year = _n + 2013 gen coef = . gen ll = . gen ul = .
replace coef = `coef00' in 1 replace coef = `coef01' in 2 replace coef = `coef02' in 3 replace coef = `coef03' in 4 replace coef = `coef04' in 5 replace coef = `coef05' in 6 replace coef = `coef06' in 7 replace coef = `coef07' in 8 replace coef = `coef08' in 9 replace coef = `coef09' in 10
replace ul = `ul00' in 1 replace ul = `ul01' in 2 replace ul = `ul02' in 3 replace ul = `ul03' in 4 replace ul = `ul04' in 5 replace ul = `ul05' in 6 replace ul = `ul06' in 7 replace ul = `ul07' in 8 replace ul = `ul08' in 9 replace ul = `ul09' in 10
replace ll = `ll00' in 1 replace ll = `ll01' in 2 replace ll = `ll02' in 3 replace ll = `ll03' in 4 replace ll = `ll04' in 5 replace ll = `ll05' in 6 replace ll = `ll06' in 7 replace ll = `ll07' in 8 replace ll = `ll08' in 9 replace ll = `ll09' in 10
* Save this as a tempfile tempfile event1 save `event1'
* 运行回归 reg income T1##ib2018.year,cluster(province)
* 储存回归结果 matrix b=r(table)
* 提取系数和置信区间
local coef00 = b[1, 23] local coef01 = b[1, 24] local coef02 = b[1, 25] local coef03 = b[1, 26] local coef04 = b[1, 27] local coef05 = b[1, 28] local coef06 = b[1, 29] local coef07 = b[1, 30] local coef08 = b[1, 31] local coef09 = b[1, 32]
local ll00 = b[5, 23] // Lower limit of confidence interval for coef00 local ll01 = b[5, 24] // Lower limit of confidence interval for coef01 local ll02 = b[5, 25] // Lower limit of confidence interval for coef02 local ll03 = b[5, 26] // Lower limit of confidence interval for coef03 local ll04 = b[5, 27] // Lower limit of confidence interval for coef04 local ll05 = b[5, 28] // Lower limit of confidence interval for coef05 local ll06 = b[5, 29] // Lower limit of confidence interval for coef06 local ll07 = b[5, 30] // Lower limit of confidence interval for coef07 local ll08 = b[5, 31] // Lower limit of confidence interval for coef08 local ll09 = b[5, 32] // Lower limit of confidence interval for coef09
local ul00 = b[6, 23] // Upper limit of confidence interval for coef00 local ul01 = b[6, 24] // Upper limit of confidence interval for coef01 local ul02 = b[6, 25] // Upper limit of confidence interval for coef02 local ul03 = b[6, 26] // Upper limit of confidence interval for coef03 local ul04 = b[6, 27] // Upper limit of confidence interval for coef04 local ul05 = b[6, 28] // Upper limit of confidence interval for coef05 local ul06 = b[6, 29] // Upper limit of confidence interval for coef06 local ul07 = b[6, 30] // Upper limit of confidence interval for coef07 local ul08 = b[6, 31] // Upper limit of confidence interval for coef08 local ul09 = b[6, 32] // Upper limit of confidence interval for coef09
preserve
clear set obs 10 gen year = _n + 2013 gen coef2 = . gen ll2 = . gen ul2 = .
replace coef2 = `coef00' in 1 replace coef2 = `coef01' in 2 replace coef2 = `coef02' in 3 replace coef2 = `coef03' in 4 replace coef2 = `coef04' in 5 replace coef2 = `coef05' in 6 replace coef2 = `coef06' in 7 replace coef2 = `coef07' in 8 replace coef2 = `coef08' in 9 replace coef2 = `coef09' in 10
replace ul2 = `ul00' in 1 replace ul2 = `ul01' in 2 replace ul2 = `ul02' in 3 replace ul2 = `ul03' in 4 replace ul2 = `ul04' in 5 replace ul2 = `ul05' in 6 replace ul2 = `ul06' in 7 replace ul2 = `ul07' in 8 replace ul2 = `ul08' in 9 replace ul2 = `ul09' in 10
replace ll2 = `ll00' in 1 replace ll2 = `ll01' in 2 replace ll2 = `ll02' in 3 replace ll2 = `ll03' in 4 replace ll2 = `ll04' in 5 replace ll2 = `ll05' in 6 replace ll2 = `ll06' in 7 replace ll2 = `ll07' in 8 replace ll2 = `ll08' in 9 replace ll2 = `ll09' in 10
* Save this as a tempfile tempfile event2 save `event2'
* 运行回归 reg income treated##T2 year##treated year##T2 T3##ib2018.year,cluster(province)
* 储存回归结果 matrix b=r(table)
* 提取系数和置信区间
* Extract coefficients and their confidence intervals local coef00 = b[1, 71] local coef01 = b[1, 72] local coef02 = b[1, 73] local coef03 = b[1, 74] local coef04 = b[1, 75] local coef05 = b[1, 76] local coef06 = b[1, 77] local coef07 = b[1, 78] local coef08 = b[1, 79] local coef09 = b[1, 80]
local ll00 = b[5, 71] // Lower limit of confidence interval for coef00 local ll01 = b[5, 72] // Lower limit of confidence interval for coef01 local ll02 = b[5, 73] // Lower limit of confidence interval for coef02 local ll03 = b[5, 74] // Lower limit of confidence interval for coef03 local ll04 = b[5, 75] // Lower limit of confidence interval for coef04 local ll05 = b[5, 76] // Lower limit of confidence interval for coef05 local ll06 = b[5, 77] // Lower limit of confidence interval for coef06 local ll07 = b[5, 78] // Lower limit of confidence interval for coef07 local ll08 = b[5, 79] // Lower limit of confidence interval for coef08 local ll09 = b[5, 80] // Lower limit of confidence interval for coef09
local ul00 = b[6, 71] // Upper limit of confidence interval for coef00 local ul01 = b[6, 72] // Upper limit of confidence interval for coef01 local ul02 = b[6, 73] // Upper limit of confidence interval for coef02 local ul03 = b[6, 74] // Upper limit of confidence interval for coef03 local ul04 = b[6, 75] // Upper limit of confidence interval for coef04 local ul05 = b[6, 76] // Upper limit of confidence interval for coef05 local ul06 = b[6, 77] // Upper limit of confidence interval for coef06 local ul07 = b[6, 78] // Upper limit of confidence interval for coef07 local ul08 = b[6, 79] // Upper limit of confidence interval for coef08 local ul09 = b[6, 80] // Upper limit of confidence interval for coef09
* Display some of the coefficients and confidence intervals to verify display "Coefficient for coef00: " `coef00' display "Lower limit for coef00: " `ll00' display "Upper limit for coef00: " `ul00'
preserve
clear set obs 10 gen year = _n + 2013 gen coef3 = . gen ll3 = . gen ul3 = .
replace coef3 = `coef00' in 1 replace coef3 = `coef01' in 2 replace coef3 = `coef02' in 3 replace coef3 = `coef03' in 4 replace coef3 = `coef04' in 5 replace coef3 = `coef05' in 6 replace coef3 = `coef06' in 7 replace coef3 = `coef07' in 8 replace coef3 = `coef08' in 9 replace coef3 = `coef09' in 10
replace ul3 = `ul00' in 1 replace ul3 = `ul01' in 2 replace ul3 = `ul02' in 3 replace ul3 = `ul03' in 4 replace ul3 = `ul04' in 5 replace ul3 = `ul05' in 6 replace ul3 = `ul06' in 7 replace ul3 = `ul07' in 8 replace ul3 = `ul08' in 9 replace ul3 = `ul09' in 10
replace ll3 = `ll00' in 1 replace ll3 = `ll01' in 2 replace ll3 = `ll02' in 3 replace ll3 = `ll03' in 4 replace ll3 = `ll04' in 5 replace ll3 = `ll05' in 6 replace ll3 = `ll06' in 7 replace ll3 = `ll07' in 8 replace ll3 = `ll08' in 9 replace ll3 = `ll09' in 10
* Save this as a tempfile tempfile event3 save `event3'
* Restore the original dataset restore
clear use `event1' merge using `event2' drop _merge merge using `event3' drop _merge