# 计算 p 值

##### 问题描述投票：0回答：1

``````
////////////////////////////////////////////////
////                                        ////
////    PART 1. Define regression program   ////
////                                        ////
////////////////////////////////////////////////

capture program drop runEventStudies

program define runEventStudies

args data yList name

use "\${outdir}\\`data'.dta", clear

* group indicator. So it's 1 both before and after the event - Luca mail 09/06
bysort state: egen treated = max(stepone)

qui gen post = weeknum > adopt_week //should turn on for the controls based on the state
*for which the reg is run - aka eventblock
*qui gen event = weeknum == adopt_week
*qui gen treated_event = treated * event
qui gen treated_post = treated * post
qui gen treated_trend = weeknum * treated

qui sum eventBlock
local N = r(max)

disp "TOTAL: `N'"

* Run regressions   - include test rates
foreach y of local yList {

disp "`y'"

forvalues i = 1/`N' {
disp "`i'"

* Balanced T, with FEs to control for week
areg `y' post treated_post tested i.weeknum if eventBlock == `i'  ///
,absorb(state)  //mine is not a balanced panel - restrict analysis to make it balanced
local b_`y'_`i'_b = _b[treated_post]
local se_`y'_`i'_b = _se[treated_post]

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

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

////////////////////////////////////////////////////////////////////////////////
////////////                                                        ////////////
////////////            PART 3. Calculate averages                  ////////////
////////////                                                        ////////////
////////////////////////////////////////////////////////////////////////////////

* Uses Inverse variance average: these weights give the smallest SE of the sum of the vars

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 {

file open EScoeff using "\${paperdir}\Tables\EScoeff`set'.csv", write replace

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

}

``````

``````input str50 state byte stepone str13 Treated_State byte(weeknum adopt_week) float(tested confirmed_1 recovered_1 deceased_1)
"Bihar"                       1 "Bihar" 45 22    16.280634     .21531174     .21075015    .001205656
"Bihar"                       1 "Bihar" 32 22      7.18386      .1659875      .1561607     .00080393
"Bihar"                       1 "Bihar" 41 22    13.814168     .20439556     .19904032   .0011118283
"Bihar"                       1 "Bihar" 44 22    15.731228     .21312033      .2083853    .001183663
"Bihar"                       0 "Bihar" 17 22     .1847392    .008343254    .006337254   .0000580895
"Bihar"                       1 "Bihar" 38 22     11.61945     .19399765     .18851824   .0010309094
"Bihar"                       1 "Bihar" 29 22     5.068347     .14344008     .13148248   .0007292264
"Bihar"                       0 "Bihar" 16 22     .1419289    .006759179    .005025698  .00004458309
"Bihar"                       1 "Bihar" 43 22    15.157097     .21073844     .20558017   .0011626267
"Bihar"                       1 "Bihar" 26 22    2.7848125     .11582927      .1013988   .0005929671
"Bihar"                       1 "Bihar" 39 22    12.378263      .1976383     .19192722   .0010621055
"Bihar"                       1 "Bihar" 23 22    1.0034382     .07272435      .0476965   .0003849923
"Bihar"                       0 "Bihar" 11 22    .04245099    .001358888    .000448341   7.53012e-06
"Bihar"                       1 "Bihar" 31 22     6.606687       .159154     .14880905   .0007728533
"Bihar"                       1 "Bihar" 47 22     17.28098      .2176378     .21473382    .001243187
"Bihar"                       1 "Bihar" 34 22     8.671193     .17866656     .16996786     .00088963
"Bihar"                       0 "Bihar"  4 22            0 .000017450755  7.171544e-07  7.171544e-07
"Bihar"                       0 "Bihar" 13 22    .06862139    .003441026   .0015243116  .00002067795
"Bihar"                       0 "Bihar" 21 22     .4104603    .036436457     .02434966  .00022243737
"Bihar"                       1 "Bihar" 22 22    .58980757     .05235824    .033925343   .0002959457
"Bihar"                       0 "Bihar" 20 22     .3337463    .024219856    .015814569  .00016518455
"Bihar"                       1 "Bihar" 48 22     5.016259     .06231139     .06166022   .0003585772
"Bihar"                       1 "Bihar" 28 22     4.260896     .13483803     .12253084   .0007003012
"Bihar"                       0 "Bihar" 10 22   .030944014    .000708907   .0003206875  5.259132e-06
"Bihar"                       0 "Bihar"  9 22   .023821475     .00044607  .00013972557 3.5857715e-06
"Bihar"                       0 "Bihar"  5 22  .0021611445 .000034781988  8.964429e-06    8.3668e-07
"Bihar"                       1 "Bihar" 37 22    10.968039       .190893      .1850546   .0010001912
"Bihar"                       0 "Bihar"  3 22            0   3.34672e-06             0             0
"Bihar"                       0 "Bihar" 15 22    .11010375    .005678189   .0037403186   .0000334672
"Bihar"                       0 "Bihar"  8 22    .01659794   .0003028782  .00005581851 1.7928858e-06
"Bihar"                       0 "Bihar"  6 22   .006518694  .00005976286  .00002402467    8.3668e-07
"Bihar"                       1 "Bihar" 46 22    16.790081     .21676815      .2128226   .0012233458
"Bihar"                       1 "Bihar" 25 22    2.1707711     .10481963     .08708943   .0005343995
"Bihar"                       1 "Bihar" 40 22     13.10717     .20105493     .19557564   .0010884013
"Bihar"                       0 "Bihar" 18 22     .2263394    .010706636    .007791762  .00008283133
"Bihar"                       0 "Bihar" 12 22    .04013124   .0024207544   .0007249235 .000011235418
"Bihar"                       1 "Bihar" 42 22    14.507592     .20766734      .2023336   .0011390802
"Bihar"                       0 "Bihar" 19 22    .27508557    .015854968     .01087182  .00012155766
"Bihar"                       1 "Bihar" 30 22     5.962443     .15187284     .14039527   .0007506215
"Bihar"                       1 "Bihar" 33 22     7.866549      .1729872      .1631078   .0008461226
"Bihar"                       1 "Bihar" 35 22     9.480743     .18312895      .1762636      .0009274
"Bihar"                       1 "Bihar" 24 22    1.5934727     .09181153     .06732514  .00046399885
"Bihar"                       1 "Bihar" 36 22    10.247828     .18750395      .1810866    .000966963
"Bihar"                       0 "Bihar"  7 22    .01026487   .0001143861 .000035618665   1.67336e-06
"Bihar"                       1 "Bihar" 27 22     3.595409     .12605326       .112047    .000643885
"Bihar"                       0 "Bihar" 14 22    .08867207   .0045832135   .0023129422 .000027012813
"Tamil Nadu"                  0 "Bihar" 31 22    10.399572      .8328966      .7599111     .01310164
"Kerala"                      0 "Bihar" 32 22    10.481126      .8627852      .5889338   .0029799694
"DNHnDD"                      0 "Bihar" 31 22     7.098346      .3239088      .3102786  .00020855057
"DNHnDD"                      0 "Bihar" 45 22            0      .3512737      .3472516  .00020855057
"Goa"                         0 "Bihar"  5 22   .006474954   .0004545455  9.276439e-06             0
"Andhra Pradesh"              0 "Bihar" 29 22    10.027867     1.2246617     1.0736066     .01045064
"Telangana"                   0 "Bihar" 19 22     .5291103     .10167153     .06675328   .0010090581
"Andhra Pradesh"              0 "Bihar" 19 22    2.2918196     .06419585      .0333213    .000790049
"Tripura"                     0 "Bihar" 28 22     8.414711     .49370885      .3015925     .00518895
"Himachal Pradesh"            0 "Bihar"  2 22            0 3.9138945e-06             0             0
"Uttar Pradesh"               0 "Bihar" 44 22    10.940186      .2620493     .25282785    .003746318
"Kerala"                      0 "Bihar" 29 22     7.141237      .4114534     .28997296   .0016374175
"Andhra Pradesh"              0 "Bihar" 14 22      .922762     .00960916    .005391099   .0001471767
"DNHnDD"                      0 "Bihar" 28 22     6.201341     .29074928     .26459107  .00020855057
"DNHnDD"                      0 "Bihar" 19 22     3.864889     .05648741     .03478326   .0001489647
"Gujarat"                     0 "Bihar"  8 22    .08439687    .005654902   .0006937201   .0002678992
"DNHnDD"                      0 "Bihar" 26 22     5.691241     .25045434     .21994637  .00020855057
"Tamil Nadu"                  0 "Bihar" 17 22    1.5489976     .11930643     .06695649   .0015883292
"Himachal Pradesh"            0 "Bihar" 12 22     .4074325    .003340509   .0009080234   .0000665362
"Tripura"                     0 "Bihar" 13 22     .7343115     .01232107    .004330089             0

``````
stata p-value significance
##### 1个回答
0

``````// Load the 'auto' dataset into memory, clearing any existing data in memory
sysuse auto, clear

// Create a new variable 'terc_mpg' that divides 'mpg' (miles per gallon) into tertiles (3 equal groups)
xtile terc_mpg = mpg, nq(3)

// Run a regression analysis of 'price' on the tertile groups of 'mpg' and 'weight' for domestic cars (foreign == 0)
reg price i.terc_mpg c.weight if foreign == 0

// Store the estimates from the previous regression for later comparison, labeled as 'domestic'
estimates store domestic

// Repeat the regression analysis for foreign cars (foreign == 1)
reg price i.terc_mpg c.weight if foreign == 1

// Store these estimates as well, labeled as 'foreign'
estimates store foreign

// Perform a seemingly unrelated estimation (suest) to compare the 'domestic' and 'foreign' models
suest domestic foreign, coefl

// Use the 'lincom' command to compute a linear combination of coefficients,
// specifically a weighted average of the 'weight' variable's coefficients from the two models
lincom (_b[domestic_mean:weight]*0.75 + _b[foreign_mean:weight]*0.25)
``````

``areg``
，因此您必须使用
``reg``
``xtreg``