Hi. In the code below, I run event study regressions, which generate only coefficients and standard errors and spit this out in an excel sheet. How can this code be modified to include p-values as well? Basically, I'd like the code to identify which coefficients are significant and which are not, either through the * notation used to indicate the p-value, or the actual p-value itself.
Any help will be much appreciated
Any help will be much appreciated
Code:
*PART 1 capture program drop runEventStudies program define runEventStudies args data yList name use "${outdir}\\`data'.dta", clear Run regressions - include test rates foreach y of local yList { disp "`y'" forvalues i = 1/`N' { disp "`i'" * Adding linear, group-specific trend qui areg `y' weeknum treated_trend post treated_post tested i.weeknum /// if eventBlock == `i',absorb(state) local b_`y'_`i'_b_trend = _b[treated_post] local se_`y'_`i'_b_trend = _se[treated_post] } } *** Step 2: Construct a dataset saving all coefficients and SEs *keep Treated_State adopt_week eventBlock cem_varlist qui duplicates drop foreach suff in b b_trend { foreach y of local yList { qui gen b_`y'_`suff' = "" qui gen se_`y'_`suff' = "" forvalues i = 1/`N' { qui replace b_`y'_`suff' = "`b_`y'_`i'_`suff''" if eventBlock == `i' qui replace se_`y'_`suff' = "`se_`y'_`i'_`suff''" if eventBlock == `i' } qui destring b_`y'_`suff', replace qui destring se_`y'_`suff', replace } } drop eventBlock * Save the data foreach x in Treated_State { encode `x', gen(temp) drop `x' rename temp `x' } * save order state weeknum cem_varlist sort state weeknum save "${coeffdir}\coefficients_`name'.dta", replace end *PART 2. Run the event studies * Acquired runEventStudies "1matched_cohort" /// Data `"confirmed_1 recovered_1 deceased_1"' /// yList "one" /// name runEventStudies "2matched_cohort" /// Data `"confirmed_2 recovered_2 deceased_2"' /// yList "two" /// name PART 3. Calculate averages local oneVars "confirmed_1 recovered_1 deceased_1" local twoVars "confirmed_2 recovered_2 deceased_2" local threeVars "confirmed_3 recovered_3 deceased_3" local fourVars "confirmed_4 recovered_4 deceased_4" local sets `" "" "_trend" "' foreach set of local sets { * open file, write header file open EScoeff using "${paperdir}\Tables\EScoeff`set'.csv", write replace file write EScoeff "Variable,All states,Early adopters,Late adopters" _n foreach sample in one two three four { use "${coeffdir}\coefficients_`sample'.dta", replace * Average effect of all states foreach var of local `sample'Vars { * ALL qui egen wavg_`var' = wtmean(b_`var'_b`set') /// if treated == 1, weight(1/(se_`var'_b`set'^2)) qui egen wvar_`var' = mean(1/(se_`var'_b`set'^2)) /// SE command if treated == 1 qui replace wvar_`var' = sqrt(1/wvar_`var') ///follows from 206 * record values sum wavg_`var' local avgAllStates : display %4.2f r(mean) drop wavg_`var' sum wvar_`var' local sdAllStates : display %4.2f r(mean) drop wvar_`var' /* file write testtable "`var',`avgAllStates'" _n file write testtable `",="(`sdAllStates')""' _n */ file write EScoeff "`var',`avgAllStates',`avgEarlyStates',`avgLateStates'" _n file write EScoeff `",="(`sdAllStates')",="(`sdEarlyStates')",="(`sdLateStates')""' _n } } file close EScoeff }
Comment