Actual StataMP numerical output. Log header and machine paths omitted.

. * BEGIN interaction
. regress score c.str##i.high income, vce(robust)

Linear regression                               Number of obs     =        420
                                                F(4, 415)         =     161.66
                                                Prob > F          =     0.0000
                                                R-squared         =     0.6647
                                                Root MSE          =     11.086

------------------------------------------------------------------------------
             |               Robust
       score | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
-------------+----------------------------------------------------------------
         str |   .6800597   .3532615     1.93   0.055    -.0143453    1.374465
      1.high |   28.41596   12.83889     2.21   0.027     3.178593    53.65332
             |
  high#c.str |
          1  |  -2.192258   .6399264    -3.43   0.001    -3.450159   -.9343566
             |
      income |   1.651672   .1034089    15.97   0.000     1.448401    1.854942
       _cons |   622.5112   7.209389    86.35   0.000     608.3397    636.6826
------------------------------------------------------------------------------

. * END interaction
. record low str

. record base _cons

. record income income

. record difference 1.high#c.str

. record intercept_difference 1.high

. * BEGIN high_slope
. lincom str+1.high#c.str

 ( 1)  str + 1.high#c.str = 0

------------------------------------------------------------------------------
       score | Coefficient  Std. err.      t    P>|t|     [95% conf. interval]
-------------+----------------------------------------------------------------
         (1) |  -1.512198   .5359897    -2.82   0.005    -2.565791    -.458605
------------------------------------------------------------------------------

. * END high_slope
. * BEGIN joint
. test 1.high 1.high#c.str

 ( 1)  1.high = 0
 ( 2)  1.high#c.str = 0

       F(  2,   415) =   98.88
            Prob > F =    0.0000

. * END joint
. * BEGIN policy
. lincom -2*str-2*1.high#c.str

 ( 1)  - 2*str - 2*1.high#c.str = 0

------------------------------------------------------------------------------
       score | Coefficient  Std. err.      t    P>|t|     [95% conf. interval]
-------------+----------------------------------------------------------------
         (1) |   3.024396   1.071979     2.82   0.005       .91721    5.131582
------------------------------------------------------------------------------

. * END policy
. export delimited score str el income high using "output/meeting_07_data.csv", replace
file output/meeting_07_data.csv saved

. 
. postclose results

. use "output/meeting_07_estimates.dta", clear

. export delimited using "output/meeting_07_estimates.csv", replace
file output/meeting_07_estimates.csv saved

. display "ECO603_MEETING_07_COMPLETE"
ECO603_MEETING_07_COMPLETE



Actual StataMP numerical output. Log header and machine paths omitted.

. * BEGIN pooled
. regress fatality beertax i.year, vce(cluster state)

Linear regression                               Number of obs     =        336
                                                F(7, 47)          =       6.53
                                                Prob > F          =     0.0000
                                                R-squared         =     0.0986
                                                Root MSE          =     .54709

                                 (Std. err. adjusted for 48 clusters in state)
------------------------------------------------------------------------------
             |               Robust
    fatality | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
-------------+----------------------------------------------------------------
     beertax |   .3663358   .1213982     3.02   0.004     .1221141    .6105575
             |
        year |
       1983  |  -.0820359    .034779    -2.36   0.023    -.1520021   -.0120696
       1984  |  -.0717331   .0453962    -1.58   0.121    -.1630584    .0195922
       1985  |  -.1105458   .0477362    -2.32   0.025    -.2065787   -.0145129
       1986  |  -.0161185   .0598606    -0.27   0.789    -.1365425    .1043056
       1987  |  -.0155355   .0663027    -0.23   0.816    -.1489194    .1178484
       1988  |  -.0010271   .0648845    -0.02   0.987    -.1315578    .1295036
             |
       _cons |   1.894848   .1413218    13.41   0.000     1.610545    2.179151
------------------------------------------------------------------------------

. * END pooled
. record pooled beertax

. * BEGIN fixed
. xtreg fatality beertax i.year, fe vce(cluster state)

Fixed-effects (within) regression               Number of obs     =        336
Group variable: state                           Number of groups  =         48

R-squared:                                      Obs per group:
     Within  = 0.0803                                         min =          7
     Between = 0.1101                                         avg =        7.0
     Overall = 0.0876                                         max =          7

                                                F(7, 47)          =       4.36
corr(u_i, Xb) = -0.6781                         Prob > F          =     0.0009

                                 (Std. err. adjusted for 48 clusters in state)
------------------------------------------------------------------------------
             |               Robust
    fatality | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
-------------+----------------------------------------------------------------
     beertax |  -.6399799   .3570783    -1.79   0.080    -1.358329     .078369
             |
        year |
       1983  |  -.0799029   .0350861    -2.28   0.027    -.1504869   -.0093188
       1984  |  -.0724206   .0438809    -1.65   0.106    -.1606975    .0158564
       1985  |  -.1239763   .0460559    -2.69   0.010    -.2166288   -.0313238
       1986  |  -.0378645   .0570604    -0.66   0.510    -.1526552    .0769262
       1987  |  -.0509021   .0636084    -0.80   0.428    -.1788656    .0770615
       1988  |  -.0518038   .0644023    -0.80   0.425    -.1813644    .0777568
             |
       _cons |    2.42847   .2016884    12.04   0.000     2.022725    2.834215
-------------+----------------------------------------------------------------
     sigma_u |  .70945965
     sigma_e |  .18788295
         rho |  .93446372   (fraction of variance due to u_i)
------------------------------------------------------------------------------

. * END fixed
. record fixed beertax

. * BEGIN policy
. lincom .10*beertax

 ( 1)  .1*beertax = 0

------------------------------------------------------------------------------
    fatality | Coefficient  Std. err.      t    P>|t|     [95% conf. interval]
-------------+----------------------------------------------------------------
         (1) |   -.063998   .0357078    -1.79   0.080    -.1358329    .0078369
------------------------------------------------------------------------------

. * END policy
. preserve

. keep if inlist(year,1982,1988)
(240 observations deleted)

. keep state year fatality beertax

. reshape wide fatality beertax, i(state) j(year)
(j = 1982 1988)

Data                               Long   ->   Wide
-----------------------------------------------------------------------------
Number of observations               96   ->   48          
Number of variables                   4   ->   5           
j variable (2 values)              year   ->   (dropped)
xij variables:
                               fatality   ->   fatality1982 fatality1988
                                beertax   ->   beertax1982 beertax1988
-----------------------------------------------------------------------------

. generate double dy=fatality1988-fatality1982

. generate double dx=beertax1988-beertax1982

. * BEGIN differences
. regress dy dx, vce(robust)

Linear regression                               Number of obs     =         48
                                                F(1, 46)          =       8.60
                                                Prob > F          =     0.0052
                                                R-squared         =     0.1192
                                                Root MSE          =     .39402

------------------------------------------------------------------------------
             |               Robust
          dy | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
-------------+----------------------------------------------------------------
          dx |  -1.040973   .3550061    -2.93   0.005    -1.755563   -.3263823
       _cons |  -.0720371   .0653552    -1.10   0.276    -.2035903    .0595161
------------------------------------------------------------------------------

. * END differences
. record difference dx

. restore

. export delimited state year fatality beertax using "output/meeting_13_data.csv", replace
(file output/meeting_13_data.csv not found)
file output/meeting_13_data.csv saved

. 
. postclose results

. use "output/meeting_13_estimates.dta", clear

. export delimited using "output/meeting_13_estimates.csv", replace
(file output/meeting_13_estimates.csv not found)
file output/meeting_13_estimates.csv saved

. display "ECO603_MEETING_13_COMPLETE"
ECO603_MEETING_13_COMPLETE



Actual StataMP numerical output. Log header and machine paths omitted.

. * BEGIN ols
. regress logq logp, vce(robust)

Linear regression                               Number of obs     =         48
                                                F(1, 46)          =      38.86
                                                Prob > F          =     0.0000
                                                R-squared         =     0.4058
                                                Root MSE          =     .18962

------------------------------------------------------------------------------
             |               Robust
        logq | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
-------------+----------------------------------------------------------------
        logp |  -1.213057   .1945896    -6.23   0.000    -1.604746   -.8213685
       _cons |   10.33892   .9348202    11.06   0.000     8.457229    12.22062
------------------------------------------------------------------------------

. * END ols
. record ols logp

. * BEGIN first
. regress logp salestax, vce(robust)

Linear regression                               Number of obs     =         48
                                                F(1, 46)          =      40.39
                                                Prob > F          =     0.0000
                                                R-squared         =     0.4710
                                                Root MSE          =     .09394

------------------------------------------------------------------------------
             |               Robust
        logp | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
-------------+----------------------------------------------------------------
    salestax |   .0307289   .0048354     6.35   0.000     .0209956    .0404621
       _cons |   4.616546   .0289177   159.64   0.000     4.558338    4.674755
------------------------------------------------------------------------------

. * END first
. record first salestax

. scalar first_b=_b[salestax]

. * BEGIN reduced
. regress logq salestax, vce(robust)

Linear regression                               Number of obs     =         48
                                                F(1, 46)          =      10.54
                                                Prob > F          =     0.0022
                                                R-squared         =     0.1525
                                                Root MSE          =     .22645

------------------------------------------------------------------------------
             |               Robust
        logq | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
-------------+----------------------------------------------------------------
    salestax |  -.0332974   .0102541    -3.25   0.002    -.0539378    -.012657
       _cons |   4.717449   .0650586    72.51   0.000     4.586493    4.848405
------------------------------------------------------------------------------

. * END reduced
. record reduced salestax

. scalar reduced_b=_b[salestax]

. * BEGIN iv
. ivregress 2sls logq (logp=salestax), vce(robust)

Instrumental-variables 2SLS regression            Number of obs   =         48
                                                  Wald chi2(1)    =      12.05
                                                  Prob > chi2     =     0.0005
                                                  R-squared       =     0.4011
                                                  Root MSE        =     .18635

------------------------------------------------------------------------------
             |               Robust
        logq | Coefficient  std. err.      z    P>|z|     [95% conf. interval]
-------------+----------------------------------------------------------------
        logp |  -1.083587   .3122036    -3.47   0.001    -1.695495    -.471679
       _cons |   9.719877   1.496143     6.50   0.000      6.78749    12.65226
------------------------------------------------------------------------------
Endogenous: logp
Exogenous:  salestax

. * END iv
. record iv logp

. assert abs(_b[logp]-reduced_b/first_b)<1e-9

. * BEGIN controls
. ivregress 2sls logq logincome (logp=salestax), vce(robust)

Instrumental-variables 2SLS regression            Number of obs   =         48
                                                  Wald chi2(2)    =      17.47
                                                  Prob > chi2     =     0.0002
                                                  R-squared       =     0.4189
                                                  Root MSE        =     .18355

------------------------------------------------------------------------------
             |               Robust
        logq | Coefficient  std. err.      z    P>|z|     [95% conf. interval]
-------------+----------------------------------------------------------------
        logp |  -1.143375   .3604805    -3.17   0.002    -1.849904   -.4368463
   logincome |   .2145153   .3018477     0.71   0.477    -.3770953    .8061258
       _cons |   9.430658   1.219402     7.73   0.000     7.040675    11.82064
------------------------------------------------------------------------------
Endogenous: logp
Exogenous:  logincome salestax

. * END controls
. record controlled logp

. * BEGIN relevance
. estat firststage

  First-stage regression summary statistics
  --------------------------------------------------------------------------
               |            Adjusted      Partial       Robust
      Variable |   R-sq.       R-sq.        R-sq.       F(1,45)   Prob > F
  -------------+------------------------------------------------------------
          logp |  0.6389      0.6228       0.5009       44.7305    0.0000
  --------------------------------------------------------------------------


. * END relevance
. export delimited logq logp salestax logincome using "output/meeting_14_data.csv", replace
(file output/meeting_14_data.csv not found)
file output/meeting_14_data.csv saved

. 
. postclose results

. use "output/meeting_14_estimates.dta", clear

. export delimited using "output/meeting_14_estimates.csv", replace
(file output/meeting_14_estimates.csv not found)
file output/meeting_14_estimates.csv saved

. display "ECO603_MEETING_14_COMPLETE"
ECO603_MEETING_14_COMPLETE



Actual StataMP numerical output; machine-specific log header omitted.
Actual naive output:
. regress dy group, vce(robust)

Linear regression                               Number of obs     =        300
                                                F(1, 298)         =     514.67
                                                Prob > F          =     0.0000
                                                R-squared         =     0.5004
                                                Root MSE          =     1.3993

------------------------------------------------------------------------------
             |               Robust
          dy | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
-------------+----------------------------------------------------------------
       group |  -3.222965   .1420669   -22.69   0.000    -3.502547   -2.943384
       _cons |   2.900887   .1026169    28.27   0.000     2.698941    3.102832
------------------------------------------------------------------------------

Actual levels output:
. regress outcome i.group##i.post baseline_income, vce(cluster person)

Linear regression                               Number of obs     =        600
                                                F(4, 299)         =    2440.04
                                                Prob > F          =     0.0000
                                                R-squared         =     0.9562
                                                Root MSE          =      1.284

                                  (Std. err. adjusted for 300 clusters in person)
---------------------------------------------------------------------------------
                |               Robust
        outcome | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
----------------+----------------------------------------------------------------
        1.group |   1.407348   .2085804     6.75   0.000     .9968769     1.81782
         1.post |   2.900887    .102789    28.22   0.000     2.698605    3.103168
                |
     group#post |
           1 1  |  -3.222965   .1423051   -22.65   0.000    -3.503012   -2.942919
                |
baseline_income |   1.184922   .0175994    67.33   0.000     1.150288    1.219557
          _cons |   25.93892    .394711    65.72   0.000     25.16215    26.71568
---------------------------------------------------------------------------------

Actual trend_adjusted output:
. regress dy group baseline_income, vce(robust)

Linear regression                               Number of obs     =        300
                                                F(2, 297)         =    8097.41
                                                Prob > F          =     0.0000
                                                R-squared         =     0.9805
                                                Root MSE          =     .27667

---------------------------------------------------------------------------------
                |               Robust
             dy | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
----------------+----------------------------------------------------------------
          group |  -.0265043   .0508918    -0.52   0.603    -.1266584    .0736499
baseline_income |    .399013     .00439    90.89   0.000     .3903736    .4076523
          _cons |  -5.987238   .0998878   -59.94   0.000    -6.183815    -5.79066
---------------------------------------------------------------------------------

Actual placebo_simple output:
. regress re i.experimental##i.post, vce(cluster person)

Linear regression                               Number of obs     =     32,834
                                                F(3, 16416)       =     869.87
                                                Prob > F          =     0.0000
                                                R-squared         =     0.0329
                                                Root MSE          =       9379

                                 (Std. err. adjusted for 16,417 clusters in person)
-----------------------------------------------------------------------------------
                  |               Robust
               re | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
------------------+----------------------------------------------------------------
   1.experimental |  -10624.12   262.4661   -40.48   0.000    -11138.58   -10109.66
           1.post |   1195.856   60.98505    19.61   0.000     1076.319    1315.394
                  |
experimental#post |
             1 1  |    867.509   330.0114     2.63   0.009     220.6508    1514.367
                  |
            _cons |    13650.8   73.31059   186.21   0.000     13507.11     13794.5
-----------------------------------------------------------------------------------

Actual dr output:
. drdid re age educ black married nodegree hisp re74, ///
>     ivar(person) time(year) tr(experimental)
No estimator selected. Using default drimp

Doubly robust difference-in-differences                 Number of obs = 32,834
Outcome model  : weighted least squares
Treatment model: inverse probability tilting
------------------------------------------------------------------------------
             | Coefficient  Std. err.      z    P>|z|     [95% conf. interval]
-------------+----------------------------------------------------------------
ATET         |
experimental |
   (1 vs 0)  |  -901.2703   393.6127    -2.29   0.022    -1672.737   -129.8037
------------------------------------------------------------------------------

Actual dr_without_history output:
. drdid re age educ black married nodegree hisp, ///
>     ivar(person) time(year) tr(experimental)
No estimator selected. Using default drimp

Doubly robust difference-in-differences                 Number of obs = 32,834
Outcome model  : weighted least squares
Treatment model: inverse probability tilting
------------------------------------------------------------------------------
             | Coefficient  Std. err.      z    P>|z|     [95% conf. interval]
-------------+----------------------------------------------------------------
ATET         |
experimental |
   (1 vs 0)  |  -604.0295   405.8351    -1.49   0.137    -1399.452    191.3927
------------------------------------------------------------------------------


Actual StataMP numerical output; machine-specific log header omitted.

. * BEGIN first
. regress logp salestax logincome, vce(robust)

Linear regression                               Number of obs     =         48
                                                F(2, 45)          =      48.98
                                                Prob > F          =     0.0000
                                                R-squared         =     0.6389
                                                Root MSE          =     .07848

------------------------------------------------------------------------------
             |               Robust
        logp | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
-------------+----------------------------------------------------------------
    salestax |   .0273948   .0040961     6.69   0.000     .0191449    .0356447
   logincome |   .3892825   .0653914     5.95   0.000     .2575776    .5209875
       _cons |   3.590811   .1727273    20.79   0.000      3.24292    3.938701
------------------------------------------------------------------------------

. * END first
. scalar first_b=_b[salestax]

. * BEGIN reduced
. regress logq salestax logincome, vce(robust)

Linear regression                               Number of obs     =         48
                                                F(2, 45)          =       6.37
                                                Prob > F          =     0.0037
                                                R-squared         =     0.1687
                                                Root MSE          =     .22675

------------------------------------------------------------------------------
             |               Robust
        logq | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
-------------+----------------------------------------------------------------
    salestax |  -.0313226   .0112334    -2.79   0.008    -.0539479   -.0086973
   logincome |  -.2305807   .2521733    -0.91   0.365    -.7384838    .2773224
       _cons |   5.325015   .6694834     7.95   0.000     3.976606    6.673424
------------------------------------------------------------------------------

. * END reduced
. scalar reduced_b=_b[salestax]

. * BEGIN controlled
. ivregress 2sls logq logincome (logp=salestax), vce(robust)

Instrumental-variables 2SLS regression            Number of obs   =         48
                                                  Wald chi2(2)    =      17.47
                                                  Prob > chi2     =     0.0002
                                                  R-squared       =     0.4189
                                                  Root MSE        =     .18355

------------------------------------------------------------------------------
             |               Robust
        logq | Coefficient  std. err.      z    P>|z|     [95% conf. interval]
-------------+----------------------------------------------------------------
        logp |  -1.143375   .3604805    -3.17   0.002    -1.849904   -.4368463
   logincome |   .2145153   .3018477     0.71   0.477    -.3770953    .8061258
       _cons |   9.430658   1.219402     7.73   0.000     7.040675    11.82064
------------------------------------------------------------------------------
Endogenous: logp
Exogenous:  logincome salestax

. * END controlled
. scalar iv_b=_b[logp]

. scalar iv_se=_se[logp]

. assert abs(iv_b-reduced_b/first_b)<1e-8

. * BEGIN strength
. estat firststage

  First-stage regression summary statistics
  --------------------------------------------------------------------------
               |            Adjusted      Partial       Robust
      Variable |   R-sq.       R-sq.        R-sq.       F(1,45)   Prob > F
  -------------+------------------------------------------------------------
          logp |  0.6389      0.6228       0.5009       44.7305    0.0000
  --------------------------------------------------------------------------


. * END strength
. * BEGIN weak_test
. estat weakrobust, betanull(-1)

Test robust to weak instruments
Model VCE: Robust

 ( 1)  logp = -1

Anderson–Rubin chi2(1) =   0.16
           Prob > chi2 = 0.6914

Note: Anderson–Rubin test reported by
      default because model is just
      identified.

. * END weak_test
. * No overidentification test can be computed with one excluded instrument for
. * one endogenous regressor. A weak-robust test does not establish exclusion.
. clear

. set obs 1
Number of observations (_N) was 0, now 1.

. generate double first=first_b

. generate double reduced=reduced_b

. generate double iv=iv_b

. generate double iv_robust_se=iv_se

. export delimited using "output/iv_extension_results.csv", replace
(file output/iv_extension_results.csv not found)
file output/iv_extension_results.csv saved

. display "ECO603_IV_EXTENSION_COMPLETE"
ECO603_IV_EXTENSION_COMPLETE

