如果不采用2SLS,而是采用rdrobust命令,尽管加上fuzzy(),但是感觉还是按照精确断点进行回归的,因为firststage为1,是我遗忘了什么步骤嘛?
以下是命令和回归结果,求解!!!
use "E:\0000毕业论文\00 合并整体\FDenf.dta", clear
encode daset,generate (dataset)
format income %12.0f
drop if income <1200
gen lny = ln(income)
drop if edu =="大专"
gen D = (birthyear >=1981)
gen cutoff = 1981
gen cut = birthyear-cutoff
gen treatment = cut >=0
///处理状态
gen geny = (gen == 1)
gen hukouy = (hukou == 1)
gen mary = (mar == 1)
gen eduyear = 16 if edu == "大学"
replace eduyear =19 if edu == "硕士"
gen workexp = age-eduyear-6
gen workexp2 = workexp *workexp
drop if workexp <0
gen pedu = .
replace pedu =1 if (pareduc == "小学【私塾算小学】"|pareduc == "小学"|pareduc == "小学/私塾"|pareduc =="文盲/半文盲"|pareduc =="无正式教育"|pareduc =="未上过学 ")
replace pedu =2 if (pareduc == "初中")
replace pedu =3 if (pareduc == "中专"|pareduc == "技校"|pareduc == "职业高中"|pareduc == "职高"|pareduc == "高中 "|pareduc == "高中/中专/技校/职高 "|pareduc == "普通高中 "|pareduc == "职业高中 "|pareduc == "职高 ")
replace pedu =4 if (pareduc == "大专")
replace pedu =5 if (pareduc == "博士"|pareduc == "研究生及以上 "|pareduc == "硕士"|pareduc == "硕士 "|pareduc == " 大学本科"|pareduc == "大学本科"|pareduc == "大学本科 ")
gen earea = (area == "东部")
gen carea= (area == "中部")
gen warea = (area == "西部")
gen eduy = (edu == "硕士") & !missing(edu)
gen Lat_down=0-20
gen Lat_up=0+20
keep if cut>=Lat_down & cut<=Lat_up
***工具变量
reghdfe eduy treatment cut workexp workexp2 geny hukouy mary pedu earea carea health,absorb(year dataset) vce(r)
reghdfe lny treatment cut workexp workexp2 geny hukouy mary pedu earea carea health,absorb(year dataset) vce(r) ///仅
ivreghdfe lny ( eduy= treatment) cutoff workexp workexp2 geny hukouy mary pedu earea carea health,absorb(year dataset) vce(r)
***rdrobust
rdrobust lny cut, fuzzy(D) bwselect(msesum) c(0) p(1) covs (workexp workexp2 geny hukouy mary pedu earea carea health)
rdrobust eduy cut, fuzzy(D) bwselect(msesum) c(0) p(1) covs ( workexp workexp2 geny hukouy mary pedu earea carea health)


雷达卡




京公网安备 11010802022788号







