The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
pcdid implements factor-augmented difference-in-differences (DID) estimation. It is useful in situations where the user suspects that trends may be unparallel and/or stochastic among control and treated units. The data structure is similar to that in a DID setup.
The estimation method is regression-based and can be considered as an extension of conventional DID regressions. pcdid also implements a parallel trend alpha test (based on an interactive effects structure) and a recursive procedure that determines the number of factors automatically.
For further details, please see Chan and Kwok (2022) who developed the pcdid approach and the alpha test.
You can install the development version of pcdid from GitHub with:
::install_github("adamwang15/pcdid") devtools
This is a basic example which replicates Chan and Kwok (2022)
library(pcdid)
<- pcdid(
result ~ treated + treated_post + afdcben + unemp + empratio + mon_d2 + mon_d3 + mon_d4,
lncase index = c("state", "trend"),
data = welfare,
alpha = TRUE
)
To access the mean-group estimates
$mg
result#>
#> z test of coefficients:
#>
#> Estimate Std. Error z value Pr(>|z|)
#> (Intercept) -4.4556629 0.0878986 -50.6909 < 2.2e-16 ***
#> treated_post -0.0168484 0.0071048 -2.3714 0.01772 *
#> afdcben 0.0143423 0.0075024 1.9117 0.05591 .
#> unemp 0.0206647 0.0035431 5.8324 5.465e-09 ***
#> empratio 0.0579939 0.1285858 0.4510 0.65198
#> mon_d2 0.0261549 0.0037348 7.0031 2.504e-12 ***
#> mon_d3 0.0238558 0.0049483 4.8210 1.429e-06 ***
#> mon_d4 0.0103690 0.0042303 2.4511 0.01424 *
#> fproxy1 3.1685663 0.5606270 5.6518 1.588e-08 ***
#> fproxy2 -2.2785399 0.5683153 -4.0093 6.090e-05 ***
#> fproxy3 1.7287098 0.7313678 2.3637 0.01810 *
#> fproxy4 -3.1723206 0.6918360 -4.5854 4.532e-06 ***
#> ---
#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
To access the alpha test result
$alpha
result#>
#> z test of coefficients:
#>
#> Estimate Std. Error z value Pr(>|z|)
#> alpha 0.99183 0.13754 7.2111 5.552e-13 ***
#> ---
#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
To access an individual treated unit estimate
$treated$WY$coefficients
result#>
#> t test of coefficients:
#>
#> Estimate Std. Error t value Pr(>|t|)
#> (Intercept) -4.5588646 0.2935291 -15.5312 < 2.2e-16 ***
#> treated_post -0.1142959 0.0280812 -4.0702 9.121e-05 ***
#> afdcben -0.0096464 0.0194555 -0.4958 0.6210599
#> unemp -0.0303034 0.0078223 -3.8740 0.0001866 ***
#> empratio -0.6215301 0.3450325 -1.8014 0.0745152 .
#> mon_d2 -0.0185256 0.0129566 -1.4298 0.1557394
#> mon_d3 -0.0613559 0.0165974 -3.6967 0.0003492 ***
#> mon_d4 -0.0743271 0.0167155 -4.4466 2.174e-05 ***
#> fproxy1 2.7033131 0.4950210 5.4610 3.195e-07 ***
#> fproxy2 -4.8730998 1.1297026 -4.3136 3.640e-05 ***
#> fproxy3 0.0068711 1.1667167 0.0059 0.9953122
#> fproxy4 -4.8867753 2.7304968 -1.7897 0.0763845 .
#> ---
#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
To access an individual control unit estimate
$control$OH$coefficients
result#>
#> t test of coefficients:
#>
#> Estimate Std. Error t value Pr(>|t|)
#> (Intercept) -4.1981999 0.1119283 -37.5079 < 2.2e-16 ***
#> afdcben 0.0333233 0.0051964 6.4127 4.068e-09 ***
#> unemp 0.0482666 0.0055919 8.6315 6.645e-14 ***
#> empratio 0.5510229 0.1854242 2.9717 0.003665 **
#> mon_d2 0.0275807 0.0054598 5.0516 1.836e-06 ***
#> mon_d3 0.0553877 0.0071581 7.7377 6.249e-12 ***
#> mon_d4 0.0357344 0.0061858 5.7769 7.701e-08 ***
#> fproxy1 -4.5719351 0.1996360 -22.9014 < 2.2e-16 ***
#> fproxy2 -8.1910637 0.8168225 -10.0280 < 2.2e-16 ***
#> fproxy3 10.9875132 0.7484328 14.6807 < 2.2e-16 ***
#> fproxy4 -1.0994630 0.8806680 -1.2484 0.214620
#> ---
#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.