Newer
Older
***************************************************************
// Filename: test_sun_shapiro.do
// Author: eddie yu
// Date: 2023-10-16
// Task: Sun and Shapiro Test
//
***************************************************************
clear all
snapshot erase _all
est clear
cd "$output/Work2024"
use "$data/Replication Data/figure6_data_A.dta", clear
summ pr_link_i if base_emp > 0, d
global iqr = r(p75)-r(p25) // iqr = 1 because it is already standardized in figure6_clean_pr_link_raw.do
di $iqr
* Create Decile bins of PR Exposure
xtile bin_pr_link = pr_link_i, nq(10)
* create bin1, bin2, ..., bin10 where bin1 is totally unaffected group
* Check if bin1's PR exposure = 0
tab bin_pr_link, summ(pr_link_i) // 25% of sample has PR exposure = 0
// * create sample of regression to run DiD w/ TWFE
// forval v = 3/10 {
// gen reg_sample`v' = 0
// replace reg_sample`v' = 1 if bin_pr_link == `v' | bin_pr_link == 1
// tab bin_pr_link if reg_sample`v' == 1 // check if we have totally unaffected & each group
// }
// Regressions
keep if year == 1990 | year == 1995 | year == 2012
xi i.year|pr_link_i , noomit
drop _IyeaXp*1995
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
xi i.year*i.bin_pr_link, noomit
drop _IyeaXbin_*_1
drop _IyeaXbin_1995_*
local loopvalues = "3/10"
forval i = `loopvalues' {
label var _IyeaXbin_2012_`i' "Bin `i'"
}
forval i = `loopvalues' {
eststo bin_`i': reghdfe emp_growth _IyeaX* [aw=wgt] if bin_pr_link == 1 | bin_pr_link == `i', a(i.pid i.year#i.industr ) cl(fips_state indust ) nocons
lincom _IyeaXbin_2012_`i'
estadd local beta_pr = string(r(estimate), "%8.3fc")
estadd local se_pr = "(" + string(r(se), "%8.3fc") + ")"
estadd local p_pr = "[" + string(r(p), "%8.3fc") + "]"
estadd local ci_pr = "[" + string(r(lb), "%8.3fc") + "," + string(r(ub), "%8.3fc") + "]"
estadd local lb_pr = string(r(lb), "%8.3fc")
estadd local ub_pr = string(r(ub), "%8.3fc")
summ pr_link_i if bin_pr_link == `i', d
estadd local avg_pr_link = string(r(mean), "%8.3fc")
estadd local beta_pr_scaled = string( _b[_IyeaXbin_2012_`i'] / r(mean), "%8.3fc")
estadd local iqr_adj_pr_link = string(r(mean)/$iqr, "%8.3fc")
estadd local beta_pr_scaled_iqr = string( _b[_IyeaXbin_2012_`i'] / (r(mean)/$iqr ), "%8.3fc")
}
esttab bin_* using sun_shapiro_pr_bin_longdiff.tex, drop(*) stats(beta_pr se_pr p_pr ci_pr avg_pr_link iqr_adj_pr_link beta_pr_scaled beta_pr_scaled_iqr N, ///
labels("Long Diff Estimate" "s.e." "p-val" "95\% CI" ///
"Mean PR Exposure" "Mean PR Exposure (IQR adjusted)" "Estimate / Mean PR Exposure" "Estimate / IQR adjusted PR Exposure")) ///
mlabels(, nodepvars) ///
nostar nonotes nonum nogap replace label nocons collabels(none) varwidth(40)
********************************************************************************
* All-in-one regression [START]
********************************************************************************
eststo emp_1: reghdfe emp_growth _IyeaX* [aw=wgt], a(i.pid i.year#i.industr ) cl(fips_state indust ) nocons
forval i = `loopvalues' {
summ pr_link_i if pr_link_i > 0 & _Ibin_pr_li_`i'==1
estadd local avg_pr_exp_`i' = string(r(mean), "%8.3fc")
estadd local beta_pr_scaled_`i' = string( _b[_IyeaXbin_2012_`i'] / r(mean), "%8.3fc")
estadd local beta_pr_scaled_iqr_`i' = string( _b[_IyeaXbin_2012_`i'] / $iqr, "%8.3fc")
}
// bys reg_sample*: summ pr_link_i if pr_link_i > 0 & reg_sample`i', d
// estadd summ, iqr
//eststo emp_1: reghdfe emp_growth _IyeaX* reg_sample* [aw=wgt], a(i.pid ///
// i.year#i.industr#reg_sample4 i.year#i.industr#reg_sample5 i.year#i.industr#reg_sample6 ///
// i.year#i.industr#reg_sample7 i.year#i.industr#reg_sample8 i.year#i.industr#reg_sample9 ///
// i.year#i.industr#reg_sample10) cl(fips_state indust ) nocons
esttab emp_1, drop(*) stats(avg_pr_exp_3 beta_pr_scaled_3 beta_pr_scaled_iqr_3 ///
avg_pr_exp_4 beta_pr_scaled_4 beta_pr_scaled_iqr_4 )
esttab emp_1, keep(_IyeaXbin_2012_*) nostar noobs ///
cells(b(fmt(3)) se(fmt(3) par) p(fmt(3) par([ ]))) /// // ci(fmt(3) par([ , ])))
mlabel("2012 Estimate") label replace
esttab emp_1, keep(_IyeaXbin_2012_4) stats() nostar noobs ///
cells(b(fmt(3)) se(fmt(3) par) p(fmt(3) par([ ])) ci(fmt(3) par([ , ]))) ///
mlabel("2012 Estimate") append
********************************************************************************
* All-in-one regression [END]
********************************************************************************
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
forval i = 3/10 {
preserve
// local i = 3
keep if reg_sample`i'==1
tab bin_pr_link
di `avg_pr_link'
eststo emp_`i': reghdfe emp_growth _IyeaX* [aw=wgt], a(i.pid i.year#i.industr ) cl(fips_state indust ) nocons
lincom _IyeaXpr__2012
estadd local beta_pr = string(r(estimate), "%8.3fc")
estadd local se_pr = "(" + string(r(se), "%8.3fc") + ")"
estadd local p_pr = "[" + string(r(p), "%8.3fc") + "]"
estadd local ci_pr = "[" + string(r(lb), "%8.3fc") + "," + string(r(ub), "%8.3fc") + "]"
estadd local lb_pr = string(r(lb), "%8.3fc")
estadd local ub_pr = string(r(ub), "%8.3fc")
summ pr_link_i if pr_link_i > 0, d
estadd local avg_pr_link = string(r(mean), "%8.3fc")
estadd local beta_pr_scaled = string( _b[_IyeaXpr__2012] / r(mean), "%8.3fc")
estadd local iqr_adj_pr_link = string(r(mean)/(r(p75)-r(p25)), "%8.3fc")
estadd local beta_pr_scaled_iqr = string( _b[_IyeaXpr__2012] / (r(mean)/(r(p75)-r(p25))), "%8.3fc")
// est save ster/emp_reg_`i', replace
restore
}
esttab emp_* using sun_shapiro_pr_bin_longdiff.tex, drop(*) stats(beta_pr se_pr p_pr ci_pr avg_pr_link beta_pr_scaled iqr_adj_pr_link beta_pr_scaled_iqr N, ///
labels("Long Diff Estimate" "s.e." "p-val" "95\% CI" ///
"Mean PR Exposure" "Estimate / Mean PR Exposure" "Mean PR Exposure (IQR adjusted)" "Estimate / IQR adjusted PR Exposure")) ///
mtitles("Bin3" "Bin4" "Bin5" "Bin6" "Bin7" "Bin8" "Bin9" "Bin10") ///
nostar nonotes nonum nogap replace label nocons collabels(none) varwidth(40)