Functions
## Functions
with.overlay <- function(est, s) { attr(est,'overlay') = s; est }
estimators <- function(sdid,sc,s) {
estimator.list = list(with.overlay(sdid, s), sc, sdid)
names(estimator.list)=c('SDID+fixed effect', 'synth. control', 'synth. diff-in-diff')
estimator.list
}
plot.estimators <- function(ests, alpha.multiplier) {
p = synthdid_plot(ests, se.method='none',
alpha.multiplier=alpha.multiplier, facet=rep(1,length(ests)),
trajectory.linetype = 1, effect.curvature=-.4,
trajectory.alpha=1, effect.alpha=.5, diagram.alpha=1)
suppressMessages(p + scale_alpha(range=c(0,1), guide='none'))
}
Civil Labor
df2 <- read.csv("Civil Labor Ballance.csv") %>%
filter(COUNTY != "jefferson parish", COUNTY != "orleans parish",
COUNTY != "plaquemines parish", COUNTY != "st. bernard parish",
COUNTY != "st. charles parish", COUNTY != "st. helena parish",
COUNTY != "st. james parish", COUNTY != "bay county",
COUNTY != "escambia county", COUNTY != "franklin county",
COUNTY != "gulf county", COUNTY != "okaloosa county",
COUNTY != "santa rosa county", COUNTY != "walton county",
COUNTY != "collier county", COUNTY != "pickens county",
COUNTY != "tuscaloosa county", COUNTY != "hale county",
COUNTY != "greene county", COUNTY != "choctaw county",
COUNTY != "sumter county", COUNTY != "clarke county",
COUNTY != "mobile county", COUNTY != "washington county",
COUNTY != "baldwin county") %>%
mutate(DATE = as.Date(DATE),
treat = ifelse(STATE == "LA" & DATE >= as.Date("2005-08-01"), 1, 0),
year = as.numeric(format(DATE, "%Y"))) %>%
group_by(COUNTY, STATE) %>%
filter(!any(is.na(Civil.Labor)))
Balancing Data and Calculating Unit Weights
dt <- seq.Date(from = as.Date("2000-01-01"),
to = as.Date("2015-12-01"), by = "month")
df.fix <- data.frame(FIPS = rep(unique(df2$FIPS), length(dt))) %>%
arrange(FIPS) %>%
mutate(DATE = rep(dt, length(unique(df2$FIPS))))
bal_df <- left_join(df.fix, df2, by = c("FIPS", "DATE")) %>%
select(COUNTY, FIPS, STATE, DATE, treat, Civil.Labor) %>%
group_by(FIPS) %>%
filter(!any(is.na(Civil.Labor))) %>%
ungroup()
bal_df$FIPS <- factor(bal_df$FIPS)
bal_df <- as.data.frame(bal_df)
bal_df$lg <- log(bal_df$Civil.Labor)
setup <- panel.matrices(bal_df,
unit = "FIPS", time = "DATE", outcome = "lg", treatment = "treat")
sdid.df <- synthdid_estimate(setup$Y, setup$N0, setup$T0)
unit.weights <- synthdid_controls(sdid.df, weight.type = 'omega', mass = 1)
unit.df <- data.frame(sdid = round(unit.weights[rev(1:nrow(unit.weights)), ], 3)) %>%
rownames_to_column(var = "FIPS")
head(unit.df)
## FIPS sdid
## 1 13177 0
## 2 13013 0
## 3 46061 0
## 4 13169 0
## 5 4021 0
## 6 20131 0
Subsetting data by Weight Counties (SDID > 0)
map_df <- unit.df %>%
mutate(sdid_mp = ifelse(sdid > 0, 1, 0))
cnty_fips <- df2 %>%
distinct(COUNTY, FIPS)
map_sdid <- map_df %>%
filter(sdid_mp == 1) %>%
merge(cnty_fips, by = "FIPS")
regdf <- df2 %>%
filter(STATE == "LA" | FIPS %in% map_sdid$FIPS)
## SUbset Data, because we want focus on before Aug 2015
df3 <- regdf %>%
filter(DATE < as.Date("2015-08-01")) %>%
mutate(treat = as.numeric(STATE == "LA"))
Civil Labor Regression Model
## Makes Date Dummy
dloop <- data.frame(DATE = unique(df3$DATE))
dloop <- dloop %>%
mutate(year = format(DATE,"%Y"),
month=str_pad(string = format(DATE,"%m"),width = 2,side = "left",pad = 0))
## YEAR DUMMY
for (i in 1:nrow(dloop)) {
df3[paste0("d.", dloop$year[i],".",dloop$month[i])] <- as.numeric(df3$DATE == unique(df3$DATE)[i])
}
## RUN MODEL
did.reg <- felm(log(Civil.Labor) ~
treat:(d.2000.01+d.2000.02+d.2000.03+d.2000.04+d.2000.05+d.2000.06+d.2000.07+d.2000.08+d.2000.09+d.2000.10+d.2000.11+d.2000.12+
d.2001.01+d.2001.02+d.2001.03+d.2001.04+d.2001.05+d.2001.06+d.2001.07+d.2001.08+d.2001.09+d.2001.10+d.2001.11+d.2001.12+
d.2002.01+d.2002.02+d.2002.03+d.2002.04+d.2002.05+d.2002.06+d.2002.07+d.2002.08+d.2002.09+d.2002.10+d.2002.11+d.2002.12+
d.2003.01+d.2003.02+d.2003.03+d.2003.04+d.2003.05+d.2003.06+d.2003.07+d.2003.08+d.2003.09+d.2003.10+d.2003.11+d.2003.12+
d.2004.01+d.2004.02+d.2004.03+d.2004.04+d.2004.05+d.2004.06+d.2004.07+d.2004.08+d.2004.09+d.2004.10+d.2004.11+d.2004.12+
d.2005.01+d.2005.02+d.2005.03+d.2005.04+d.2005.05+d.2005.06+d.2005.07+d.2005.09+d.2005.10+d.2005.11+d.2005.12+
d.2006.01+d.2006.02+d.2006.03+d.2006.04+d.2006.05+d.2006.06+d.2006.07+d.2006.08+d.2006.09+d.2006.10+d.2006.11+d.2006.12+
d.2007.01+d.2007.02+d.2007.03+d.2007.04+d.2007.05+d.2007.06+d.2007.07+d.2007.08+d.2007.09+d.2007.10+d.2007.11+d.2007.12+
d.2008.01+d.2008.02+d.2008.03+d.2008.04+d.2008.05+d.2008.06+d.2008.07+d.2008.08+d.2008.09+d.2008.10+d.2008.11+d.2008.12+
d.2009.01+d.2009.02+d.2009.03+d.2009.04+d.2009.05+d.2009.06+d.2009.07+d.2009.08+d.2009.09+d.2009.10+d.2009.11+d.2009.12+
d.2010.01+d.2010.02+d.2010.03+d.2010.04+d.2010.05+d.2010.06+d.2010.07+d.2010.08+d.2010.09+d.2010.10+d.2010.11+d.2010.12+
d.2011.01+d.2011.02+d.2011.03+d.2011.04+d.2011.05+d.2011.06+d.2011.07+d.2011.08+d.2011.09+d.2011.10+d.2011.11+d.2011.12+
d.2012.01+d.2012.02+d.2012.03+d.2012.04+d.2012.05+d.2012.06+d.2012.07+d.2012.08+d.2012.09+d.2012.10+d.2012.11+d.2012.12+
d.2013.01+d.2013.02+d.2013.03+d.2013.04+d.2013.05+d.2013.06+d.2013.07+d.2013.08+d.2013.09+d.2013.10+d.2013.11+d.2013.12+
d.2014.01+d.2014.02+d.2014.03+d.2014.04+d.2014.05+d.2014.06+d.2014.07+d.2014.08+d.2014.09+d.2014.10+d.2014.11+d.2014.12+
d.2015.01+d.2015.02+d.2015.03+d.2015.04+d.2015.05+d.2015.06+d.2015.07) |
COUNTY + DATE | 0 | COUNTY,
data = df3)
summary(did.reg)
##
## Call:
## felm(formula = log(Civil.Labor) ~ treat:(d.2000.01 + d.2000.02 + d.2000.03 + d.2000.04 + d.2000.05 + d.2000.06 + d.2000.07 + d.2000.08 + d.2000.09 + d.2000.10 + d.2000.11 + d.2000.12 + d.2001.01 + d.2001.02 + d.2001.03 + d.2001.04 + d.2001.05 + d.2001.06 + d.2001.07 + d.2001.08 + d.2001.09 + d.2001.10 + d.2001.11 + d.2001.12 + d.2002.01 + d.2002.02 + d.2002.03 + d.2002.04 + d.2002.05 + d.2002.06 + d.2002.07 + d.2002.08 + d.2002.09 + d.2002.10 + d.2002.11 + d.2002.12 + d.2003.01 + d.2003.02 + d.2003.03 + d.2003.04 + d.2003.05 + d.2003.06 + d.2003.07 + d.2003.08 + d.2003.09 + d.2003.10 + d.2003.11 + d.2003.12 + d.2004.01 + d.2004.02 + d.2004.03 + d.2004.04 + d.2004.05 + d.2004.06 + d.2004.07 + d.2004.08 + d.2004.09 + d.2004.10 + d.2004.11 + d.2004.12 + d.2005.01 + d.2005.02 + d.2005.03 + d.2005.04 + d.2005.05 + d.2005.06 + d.2005.07 + d.2005.09 + d.2005.10 + d.2005.11 + d.2005.12 + d.2006.01 + d.2006.02 + d.2006.03 + d.2006.04 + d.2006.05 + d.2006.06 + d.2006.07 + d.2006.08 + d.2006.09 + d.2006.10 + d.2006.11 + d.2006.12 + d.2007.01 + d.2007.02 + d.2007.03 + d.2007.04 + d.2007.05 + d.2007.06 + d.2007.07 + d.2007.08 + d.2007.09 + d.2007.10 + d.2007.11 + d.2007.12 + d.2008.01 + d.2008.02 + d.2008.03 + d.2008.04 + d.2008.05 + d.2008.06 + d.2008.07 + d.2008.08 + d.2008.09 + d.2008.10 + d.2008.11 + d.2008.12 + d.2009.01 + d.2009.02 + d.2009.03 + d.2009.04 + d.2009.05 + d.2009.06 + d.2009.07 + d.2009.08 + d.2009.09 + d.2009.10 + d.2009.11 + d.2009.12 + d.2010.01 + d.2010.02 + d.2010.03 + d.2010.04 + d.2010.05 + d.2010.06 + d.2010.07 + d.2010.08 + d.2010.09 + d.2010.10 + d.2010.11 + d.2010.12 + d.2011.01 + d.2011.02 + d.2011.03 + d.2011.04 + d.2011.05 + d.2011.06 + d.2011.07 + d.2011.08 + d.2011.09 + d.2011.10 + d.2011.11 + d.2011.12 + d.2012.01 + d.2012.02 + d.2012.03 + d.2012.04 + d.2012.05 + d.2012.06 + d.2012.07 + d.2012.08 + d.2012.09 + d.2012.10 + d.2012.11 + d.2012.12 + d.2013.01 + d.2013.02 + d.2013.03 + d.2013.04 + d.2013.05 + d.2013.06 + d.2013.07 + d.2013.08 + d.2013.09 + d.2013.10 + d.2013.11 + d.2013.12 + d.2014.01 + d.2014.02 + d.2014.03 + d.2014.04 + d.2014.05 + d.2014.06 + d.2014.07 + d.2014.08 + d.2014.09 + d.2014.10 + d.2014.11 + d.2014.12 + d.2015.01 + d.2015.02 + d.2015.03 + d.2015.04 + d.2015.05 + d.2015.06 + d.2015.07) | COUNTY + DATE | 0 | COUNTY, data = df3)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.0151 -0.0621 -0.0003 0.0614 3.4788
##
## Coefficients:
## Estimate Cluster s.e. t value Pr(>|t|)
## treat:d.2000.01 -0.0234301 0.0093172 -2.515 0.012181 *
## treat:d.2000.02 -0.0312951 0.0088329 -3.543 0.000427 ***
## treat:d.2000.03 -0.0257580 0.0088588 -2.908 0.003780 **
## treat:d.2000.04 -0.0198947 0.0089293 -2.228 0.026259 *
## treat:d.2000.05 -0.0282045 0.0086225 -3.271 0.001135 **
## treat:d.2000.06 -0.0301440 0.0084504 -3.567 0.000391 ***
## treat:d.2000.07 -0.0292214 0.0090657 -3.223 0.001338 **
## treat:d.2000.08 -0.0271525 0.0091402 -2.971 0.003094 **
## treat:d.2000.09 -0.0302444 0.0093794 -3.225 0.001332 **
## treat:d.2000.10 -0.0241999 0.0091285 -2.651 0.008243 **
## treat:d.2000.11 -0.0242369 0.0090317 -2.684 0.007492 **
## treat:d.2000.12 -0.0241349 0.0092291 -2.615 0.009152 **
## treat:d.2001.01 -0.0215141 0.0086204 -2.496 0.012845 *
## treat:d.2001.02 -0.0244451 0.0084359 -2.898 0.003900 **
## treat:d.2001.03 -0.0184558 0.0089363 -2.065 0.039341 *
## treat:d.2001.04 -0.0209828 0.0082066 -2.557 0.010816 *
## treat:d.2001.05 -0.0309369 0.0080291 -3.853 0.000130 ***
## treat:d.2001.06 -0.0259155 0.0077725 -3.334 0.000910 ***
## treat:d.2001.07 -0.0246951 0.0078036 -3.165 0.001634 **
## treat:d.2001.08 -0.0302890 0.0079186 -3.825 0.000145 ***
## treat:d.2001.09 -0.0244976 0.0081046 -3.023 0.002616 **
## treat:d.2001.10 -0.0256075 0.0081427 -3.145 0.001746 **
## treat:d.2001.11 -0.0201548 0.0079334 -2.540 0.011328 *
## treat:d.2001.12 -0.0226823 0.0079077 -2.868 0.004275 **
## treat:d.2002.01 -0.0179219 0.0081672 -2.194 0.028603 *
## treat:d.2002.02 -0.0206241 0.0076251 -2.705 0.007035 **
## treat:d.2002.03 -0.0171972 0.0079615 -2.160 0.031177 *
## treat:d.2002.04 -0.0162591 0.0073501 -2.212 0.027346 *
## treat:d.2002.05 -0.0199124 0.0076011 -2.620 0.009030 **
## treat:d.2002.06 -0.0152665 0.0072962 -2.092 0.036835 *
## treat:d.2002.07 -0.0182867 0.0072481 -2.523 0.011903 *
## treat:d.2002.08 -0.0135335 0.0075880 -1.784 0.075019 .
## treat:d.2002.09 -0.0213541 0.0073237 -2.916 0.003685 **
## treat:d.2002.10 -0.0174444 0.0081806 -2.132 0.033390 *
## treat:d.2002.11 -0.0148757 0.0078550 -1.894 0.058748 .
## treat:d.2002.12 -0.0135409 0.0080927 -1.673 0.094821 .
## treat:d.2003.01 -0.0079440 0.0083070 -0.956 0.339318
## treat:d.2003.02 -0.0156572 0.0072521 -2.159 0.031258 *
## treat:d.2003.03 -0.0133094 0.0076664 -1.736 0.083077 .
## treat:d.2003.04 -0.0116392 0.0070877 -1.642 0.101095
## treat:d.2003.05 -0.0145812 0.0070253 -2.076 0.038374 *
## treat:d.2003.06 -0.0071750 0.0071460 -1.004 0.315767
## treat:d.2003.07 -0.0094344 0.0061168 -1.542 0.123523
## treat:d.2003.08 -0.0093130 0.0069335 -1.343 0.179733
## treat:d.2003.09 -0.0179734 0.0067410 -2.666 0.007882 **
## treat:d.2003.10 -0.0093493 0.0074444 -1.256 0.209663
## treat:d.2003.11 -0.0110081 0.0070537 -1.561 0.119156
## treat:d.2003.12 -0.0104928 0.0060864 -1.724 0.085242 .
## treat:d.2004.01 -0.0030869 0.0059553 -0.518 0.604416
## treat:d.2004.02 -0.0082789 0.0053172 -1.557 0.120010
## treat:d.2004.03 -0.0046459 0.0051082 -0.910 0.363460
## treat:d.2004.04 -0.0047132 0.0049296 -0.956 0.339420
## treat:d.2004.05 -0.0090782 0.0044259 -2.051 0.040698 *
## treat:d.2004.06 -0.0117222 0.0042114 -2.783 0.005553 **
## treat:d.2004.07 -0.0037400 0.0043298 -0.864 0.388056
## treat:d.2004.08 -0.0075741 0.0043159 -1.755 0.079796 .
## treat:d.2004.09 -0.0079595 0.0041030 -1.940 0.052874 .
## treat:d.2004.10 0.0020959 0.0042618 0.492 0.623060
## treat:d.2004.11 0.0009122 0.0037399 0.244 0.807382
## treat:d.2004.12 -0.0009165 0.0034561 -0.265 0.790959
## treat:d.2005.01 0.0065728 0.0030513 2.154 0.031641 *
## treat:d.2005.02 -0.0020135 0.0030051 -0.670 0.503097
## treat:d.2005.03 -0.0035391 0.0031894 -1.110 0.267600
## treat:d.2005.04 0.0020911 0.0025093 0.833 0.404991
## treat:d.2005.05 -0.0010745 0.0020604 -0.521 0.602226
## treat:d.2005.06 0.0021486 0.0019630 1.095 0.274173
## treat:d.2005.07 -0.0004795 0.0013626 -0.352 0.725031
## treat:d.2005.09 0.1043994 0.0047518 21.970 < 2e-16 ***
## treat:d.2005.10 0.1186557 0.0051398 23.086 < 2e-16 ***
## treat:d.2005.11 0.1140870 0.0052478 21.740 < 2e-16 ***
## treat:d.2005.12 0.0658781 0.0047817 13.777 < 2e-16 ***
## treat:d.2006.01 0.0518351 0.0062066 8.352 4.92e-16 ***
## treat:d.2006.02 0.0419430 0.0063008 6.657 6.47e-11 ***
## treat:d.2006.03 0.0436077 0.0060935 7.156 2.50e-12 ***
## treat:d.2006.04 0.0403622 0.0062388 6.470 2.08e-10 ***
## treat:d.2006.05 0.0365945 0.0058180 6.290 6.24e-10 ***
## treat:d.2006.06 0.0292912 0.0055926 5.237 2.28e-07 ***
## treat:d.2006.07 0.0254419 0.0058053 4.383 1.39e-05 ***
## treat:d.2006.08 0.0288219 0.0057951 4.974 8.66e-07 ***
## treat:d.2006.09 0.0353687 0.0060180 5.877 7.03e-09 ***
## treat:d.2006.10 0.0385312 0.0059246 6.504 1.69e-10 ***
## treat:d.2006.11 0.0377187 0.0056890 6.630 7.66e-11 ***
## treat:d.2006.12 0.0232368 0.0057560 4.037 6.14e-05 ***
## treat:d.2007.01 0.0287876 0.0063393 4.541 6.80e-06 ***
## treat:d.2007.02 0.0285487 0.0064187 4.448 1.04e-05 ***
## treat:d.2007.03 0.0308436 0.0063951 4.823 1.81e-06 ***
## treat:d.2007.04 0.0331244 0.0063729 5.198 2.80e-07 ***
## treat:d.2007.05 0.0235033 0.0066703 3.524 0.000459 ***
## treat:d.2007.06 0.0213526 0.0068977 3.096 0.002058 **
## treat:d.2007.07 0.0260544 0.0069472 3.750 0.000194 ***
## treat:d.2007.08 0.0354524 0.0068122 5.204 2.70e-07 ***
## treat:d.2007.09 0.0365209 0.0068189 5.356 1.23e-07 ***
## treat:d.2007.10 0.0349027 0.0069539 5.019 6.90e-07 ***
## treat:d.2007.11 0.0379256 0.0069010 5.496 5.82e-08 ***
## treat:d.2007.12 0.0312874 0.0069075 4.529 7.17e-06 ***
## treat:d.2008.01 0.0320967 0.0076650 4.187 3.26e-05 ***
## treat:d.2008.02 0.0355569 0.0076538 4.646 4.19e-06 ***
## treat:d.2008.03 0.0420214 0.0076208 5.514 5.27e-08 ***
## treat:d.2008.04 0.0378675 0.0074112 5.109 4.38e-07 ***
## treat:d.2008.05 0.0320513 0.0075978 4.219 2.85e-05 ***
## treat:d.2008.06 0.0279168 0.0078848 3.541 0.000431 ***
## treat:d.2008.07 0.0304463 0.0078601 3.874 0.000119 ***
## treat:d.2008.08 0.0300594 0.0078498 3.829 0.000142 ***
## treat:d.2008.09 0.0321602 0.0082182 3.913 0.000102 ***
## treat:d.2008.10 0.0347625 0.0079400 4.378 1.42e-05 ***
## treat:d.2008.11 0.0362037 0.0077770 4.655 4.01e-06 ***
## treat:d.2008.12 0.0229274 0.0086434 2.653 0.008205 **
## treat:d.2009.01 0.0248257 0.0089741 2.766 0.005848 **
## treat:d.2009.02 0.0231662 0.0088574 2.615 0.009142 **
## treat:d.2009.03 0.0254842 0.0089780 2.839 0.004690 **
## treat:d.2009.04 0.0311436 0.0091942 3.387 0.000753 ***
## treat:d.2009.05 0.0308970 0.0088592 3.488 0.000524 ***
## treat:d.2009.06 0.0319832 0.0090401 3.538 0.000435 ***
## treat:d.2009.07 0.0387471 0.0095040 4.077 5.20e-05 ***
## treat:d.2009.08 0.0257808 0.0098344 2.622 0.008983 **
## treat:d.2009.09 0.0258665 0.0100496 2.574 0.010302 *
## treat:d.2009.10 0.0326674 0.0096222 3.395 0.000733 ***
## treat:d.2009.11 0.0340589 0.0095205 3.577 0.000376 ***
## treat:d.2009.12 0.0320264 0.0096461 3.320 0.000956 ***
## treat:d.2010.01 0.0156176 0.0131180 1.191 0.234316
## treat:d.2010.02 0.0166157 0.0127592 1.302 0.193345
## treat:d.2010.03 0.0227452 0.0128300 1.773 0.076780 .
## treat:d.2010.04 0.0299253 0.0128860 2.322 0.020559 *
## treat:d.2010.05 0.0334458 0.0127509 2.623 0.008943 **
## treat:d.2010.06 0.0394843 0.0126889 3.112 0.001951 **
## treat:d.2010.07 0.0476119 0.0125303 3.800 0.000160 ***
## treat:d.2010.08 0.0407614 0.0129488 3.148 0.001729 **
## treat:d.2010.09 0.0370466 0.0130674 2.835 0.004741 **
## treat:d.2010.10 0.0343115 0.0136340 2.517 0.012116 *
## treat:d.2010.11 0.0318457 0.0138098 2.306 0.021459 *
## treat:d.2010.12 0.0237829 0.0141056 1.686 0.092319 .
## treat:d.2011.01 0.0242485 0.0140749 1.723 0.085452 .
## treat:d.2011.02 0.0253328 0.0141317 1.793 0.073553 .
## treat:d.2011.03 0.0217535 0.0143780 1.513 0.130830
## treat:d.2011.04 0.0295833 0.0144594 2.046 0.041209 *
## treat:d.2011.05 0.0264937 0.0142714 1.856 0.063898 .
## treat:d.2011.06 0.0295043 0.0138927 2.124 0.034113 *
## treat:d.2011.07 0.0377192 0.0137506 2.743 0.006274 **
## treat:d.2011.08 0.0267759 0.0138597 1.932 0.053853 .
## treat:d.2011.09 0.0278246 0.0143931 1.933 0.053697 .
## treat:d.2011.10 0.0277786 0.0148318 1.873 0.061580 .
## treat:d.2011.11 0.0298801 0.0148395 2.014 0.044515 *
## treat:d.2011.12 0.0227343 0.0145965 1.558 0.119889
## treat:d.2012.01 0.0241666 0.0150293 1.608 0.108383
## treat:d.2012.02 0.0264773 0.0150327 1.761 0.078709 .
## treat:d.2012.03 0.0252689 0.0154290 1.638 0.102012
## treat:d.2012.04 0.0293451 0.0164588 1.783 0.075115 .
## treat:d.2012.05 0.0274347 0.0160189 1.713 0.087310 .
## treat:d.2012.06 0.0356231 0.0156341 2.279 0.023055 *
## treat:d.2012.07 0.0428942 0.0148595 2.887 0.004038 **
## treat:d.2012.08 0.0349245 0.0153812 2.271 0.023535 *
## treat:d.2012.09 0.0300935 0.0155673 1.933 0.053704 .
## treat:d.2012.10 0.0300752 0.0157632 1.908 0.056890 .
## treat:d.2012.11 0.0347206 0.0159888 2.172 0.030291 *
## treat:d.2012.12 0.0367194 0.0159804 2.298 0.021928 *
## treat:d.2013.01 0.0351582 0.0158816 2.214 0.027231 *
## treat:d.2013.02 0.0359042 0.0160698 2.234 0.025843 *
## treat:d.2013.03 0.0356357 0.0167379 2.129 0.033669 *
## treat:d.2013.04 0.0372327 0.0169449 2.197 0.028392 *
## treat:d.2013.05 0.0356005 0.0163820 2.173 0.030171 *
## treat:d.2013.06 0.0424337 0.0158930 2.670 0.007797 **
## treat:d.2013.07 0.0459719 0.0155530 2.956 0.003245 **
## treat:d.2013.08 0.0411137 0.0159777 2.573 0.010322 *
## treat:d.2013.09 0.0419933 0.0163412 2.570 0.010424 *
## treat:d.2013.10 0.0361700 0.0171099 2.114 0.034941 *
## treat:d.2013.11 0.0423355 0.0173356 2.442 0.014898 *
## treat:d.2013.12 0.0351756 0.0172444 2.040 0.041818 *
## treat:d.2014.01 0.0343673 0.0172096 1.997 0.046292 *
## treat:d.2014.02 0.0342722 0.0173308 1.978 0.048451 *
## treat:d.2014.03 0.0383407 0.0179541 2.135 0.033137 *
## treat:d.2014.04 0.0434854 0.0180737 2.406 0.016438 *
## treat:d.2014.05 0.0435424 0.0180719 2.409 0.016288 *
## treat:d.2014.06 0.0533562 0.0171873 3.104 0.001999 **
## treat:d.2014.07 0.0670442 0.0167226 4.009 6.88e-05 ***
## treat:d.2014.08 0.0654323 0.0170195 3.845 0.000134 ***
## treat:d.2014.09 0.0688324 0.0171801 4.007 6.96e-05 ***
## treat:d.2014.10 0.0637904 0.0177475 3.594 0.000353 ***
## treat:d.2014.11 0.0694899 0.0177653 3.912 0.000103 ***
## treat:d.2014.12 0.0715512 0.0172511 4.148 3.86e-05 ***
## treat:d.2015.01 0.0646208 0.0177617 3.638 0.000299 ***
## treat:d.2015.02 0.0624836 0.0177938 3.512 0.000480 ***
## treat:d.2015.03 0.0591938 0.0183110 3.233 0.001296 **
## treat:d.2015.04 0.0602183 0.0185442 3.247 0.001232 **
## treat:d.2015.05 0.0546252 0.0182001 3.001 0.002803 **
## treat:d.2015.06 0.0599800 0.0172991 3.467 0.000565 ***
## treat:d.2015.07 0.0649265 0.0172435 3.765 0.000183 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.6184 on 137237 degrees of freedom
## Multiple R-squared(full model): 0.8358 Adjusted R-squared: 0.8347
## Multiple R-squared(proj model): 0.000159 Adjusted R-squared: -0.006799
## F-statistic(full model, *iid*):731.5 on 955 and 137237 DF, p-value: < 2.2e-16
## F-statistic(proj model): 134 on 186 and 583 DF, p-value: < 2.2e-16
summary_text <- capture.output(summary(did.reg))
coef_df <- coeftest(did.reg)
head(coef_df)
## Estimate Std. Error t value Pr(>|t|)
## treat:d.2000.01 -0.02343013 0.009317201 -2.514717 0.0121807662
## treat:d.2000.02 -0.03129512 0.008832946 -3.542999 0.0004272735
## treat:d.2000.03 -0.02575798 0.008858788 -2.907620 0.0037804887
## treat:d.2000.04 -0.01989473 0.008929268 -2.228036 0.0262588239
## treat:d.2000.05 -0.02820447 0.008622538 -3.271017 0.0011348702
## treat:d.2000.06 -0.03014403 0.008450444 -3.567153 0.0003905372
# Extract and display the "Multiple R-squared (full model)" and "Adjusted R-squared" portion
cat(grep("Multiple R-squared\\(full model\\): [0-9.]+", summary_text, value = TRUE), "\n")
## Multiple R-squared(full model): 0.8358 Adjusted R-squared: 0.8347
## Export Coeffiecent and test for Heteroscedasticity SE
coef_df <- coeftest(did.reg)
coef_df <- coef_df[,] %>%
as_tibble() %>%
mutate(variables = rownames(coef_df))
coef_df$date <- as.Date(paste0(coef_df$variables, ".01"),
format = "treat:d.%Y.%m.%d")
event_df <- data.frame(date=seq.Date(as.Date("2000-01-01"),as.Date("2015-07-01"),by = "month"))
event_df <- left_join(event_df, coef_df[, c(1, 2, 6)])
## Joining with `by = join_by(date)`
event_df[is.na(event_df)] <- 0
colnames(event_df) <- c("time","coef","se")
## Makes Confident Interval
event_df$ci_upper <- event_df$coef + 1.96 * event_df$se
event_df$ci_lower <- event_df$coef - 1.96 * event_df$se
head(event_df,3)
## time coef se ci_upper ci_lower
## 1 2000-01-01 -0.02343013 0.009317201 -0.005168414 -0.04169184
## 2 2000-02-01 -0.03129512 0.008832946 -0.013982546 -0.04860769
## 3 2000-03-01 -0.02575798 0.008858788 -0.008394760 -0.04312121
dates <- seq.Date(as.Date("2000-01-01"),as.Date("2015-07-01"),by='month')
# Define start and end dates for plot
start_date <- as.Date("2004-08-01")
end_date <- as.Date("2015-07-01")
# Create sequence of dates for x-axis
dates_seq <- seq.Date(from = start_date, to = end_date, by = "month")
# Subset event_df to only include dates after or equal to start_date
event_df_sub <- event_df[dates >= start_date, ]
plot.theme <- theme(axis.text.x = element_text(angle = 45, hjust = 1),
plot.title = element_text(size = 18, face = "bold", hjust = 0.5),
axis.title.x = element_blank(),
axis.title.y = element_text(size = 18, face = "bold"),
axis.text = element_text(size = 14, face = "bold"),
legend.text = element_text(size = 12),
plot.caption = element_text(size = 12, face = c("italic", "bold")),
axis.line = element_line(color = "black", size = 0.5),
panel.background = element_blank(),
panel.grid.major = element_line(color = "black", size = 0.1))
pl <- ggplot(event_df, aes(x = dates, y = coef)) +
geom_point() +
geom_line()+
#geom_errorbar(aes(ymin = ci_lower, ymax = ci_upper), width = 0.2) +
geom_ribbon(aes(ymin = ci_lower, ymax = ci_upper), alpha = 0.2) +
geom_hline(yintercept = 0, linetype = "dashed", color = "red") +
geom_vline(xintercept = as.Date("2005-08-01"), linetype = "dashed", color = "blue") +
scale_y_continuous(labels = function(x) paste0(x * 100, "%")) +
scale_x_date(date_labels = "%Y-%m", limits = c(start_date, end_date), breaks = "1 year") +
labs(title = "Panel A: Civilian Labor Force", y = "Percentage") +
plot.theme
pl

Employee Person
df4 <- read.csv("Merge Employee Person Full-Location Ballance.csv") %>%
filter(COUNTY != "Jefferson Parish", COUNTY != "Orleans Parish",
COUNTY != "Plaquemines Parish", COUNTY != "St. Bernard Parish",
COUNTY != "St. Charles Parish", COUNTY != "St. Helena Parish",
COUNTY != "St. James Parish", COUNTY != "Adams County",
COUNTY != "Amite County", COUNTY != "Attala County",
COUNTY != "Claiborne County", COUNTY != "Choctaw County",
COUNTY != "Clarke County", COUNTY != "Copiah County",
COUNTY != "Covington County", COUNTY != "Franklin County",
COUNTY != "Forrest County", COUNTY != "George County",
COUNTY != "Greene County", COUNTY != "Hancock County",
COUNTY != "Harrison County", COUNTY != "Hinds County",
COUNTY != "Holmes County", COUNTY != "Humphreys County",
COUNTY != "Jackson County", COUNTY != "Jasper County",
COUNTY != "Jefferson County", COUNTY != "Jefferson Davis County",
COUNTY != "Jones County", COUNTY != "Kemper County",
COUNTY != "Bay County", COUNTY != "Escambia County",
COUNTY != "Franklin County", COUNTY != "Gulf County",
COUNTY != "Okaloosa County", COUNTY != "Santa Rosa County",
COUNTY != "Walton County", COUNTY != "Collier County",
COUNTY != "Tuscaloosa County", COUNTY != "Pickens County",
COUNTY != "Hale County", COUNTY != "Greene County",
COUNTY != "Sumter County", COUNTY != "Choctaw County",
COUNTY != "Clarke County", COUNTY != "Washington County",
COUNTY != "Mobile County", COUNTY != "Baldwin County") %>%
mutate(DATE = as.Date(DATE),
treat = ifelse(STATE == "LA" & DATE >= as.Date("2005-08-01"), 1, 0),
year = as.numeric(format(DATE, "%Y"))) %>%
group_by(COUNTY, STATE) %>%
filter(!any(is.na(Employee)))
Balancing Data and Calculating Unit Weights
dt <- seq.Date(from = as.Date("2000-01-01"),
to = as.Date("2015-12-01"), by = "month")
df.fix <- data.frame(FIPS = rep(unique(df4$FIPS), length(dt))) %>%
arrange(FIPS) %>%
mutate(DATE = rep(dt, length(unique(df4$FIPS))))
bal_df <- left_join(df.fix, df4, by = c("FIPS", "DATE")) %>%
select(COUNTY, FIPS, STATE, DATE, treat, Employee) %>%
group_by(FIPS) %>%
filter(!any(is.na(Employee))) %>%
ungroup()
bal_df$FIPS <- factor(bal_df$FIPS)
bal_df <- as.data.frame(bal_df)
bal_df$lg <- log(bal_df$Employee)
setup <- panel.matrices(bal_df,
unit = "FIPS", time = "DATE", outcome = "lg", treatment = "treat")
sdid.df <- synthdid_estimate(setup$Y, setup$N0, setup$T0)
unit.weights <- synthdid_controls(sdid.df, weight.type = 'omega', mass = 1)
unit.df <- data.frame(sdid = round(unit.weights[rev(1:nrow(unit.weights)), ], 3)) %>%
rownames_to_column(var = "FIPS")
head(unit.df)
## FIPS sdid
## 1 51179 0
## 2 28099 0
## 3 53039 0
## 4 38053 0
## 5 13217 0
## 6 8109 0
Subsetting data by Weight Counties (SDID > 0)
map_df <- unit.df %>%
mutate(sdid_mp = ifelse(sdid > 0, 1, 0))
cnty_fips <- df4 %>%
distinct(COUNTY, FIPS)
map_sdid <- map_df %>%
filter(sdid_mp == 1) %>%
merge(cnty_fips, by = "FIPS")
regdf <- df4 %>%
filter(STATE == "LA" | FIPS %in% map_sdid$FIPS)
## SUbset Data, because we want focus on before Feb 2010
df5 <- regdf %>%
filter(DATE < as.Date("2015-08-01")) %>%
mutate(treat = as.numeric(STATE == "LA"))
Employee Person Regression Model
## Makes Date Dummy
dloop <- data.frame(DATE = unique(df5$DATE))
dloop <- dloop %>%
mutate(year = format(DATE,"%Y"),
month=str_pad(string = format(DATE,"%m"),width = 2,side = "left",pad = 0))
head(dloop)
## DATE year month
## 1 2000-01-01 2000 01
## 2 2000-02-01 2000 02
## 3 2000-03-01 2000 03
## 4 2000-04-01 2000 04
## 5 2000-05-01 2000 05
## 6 2000-06-01 2000 06
## YEAR DUMMY
for (i in 1:nrow(dloop)) {
df5[paste0("d.", dloop$year[i],".",dloop$month[i])] <- as.numeric(df5$DATE == unique(df5$DATE)[i])
}
## RUN MODEL
did.reg <- felm(log(Employee) ~
treat:(d.2000.01+d.2000.02+d.2000.03+d.2000.04+d.2000.05+d.2000.06+d.2000.07+d.2000.08+d.2000.09+d.2000.10+d.2000.11+d.2000.12+
d.2001.01+d.2001.02+d.2001.03+d.2001.04+d.2001.05+d.2001.06+d.2001.07+d.2001.08+d.2001.09+d.2001.10+d.2001.11+d.2001.12+
d.2002.01+d.2002.02+d.2002.03+d.2002.04+d.2002.05+d.2002.06+d.2002.07+d.2002.08+d.2002.09+d.2002.10+d.2002.11+d.2002.12+
d.2003.01+d.2003.02+d.2003.03+d.2003.04+d.2003.05+d.2003.06+d.2003.07+d.2003.08+d.2003.09+d.2003.10+d.2003.11+d.2003.12+
d.2004.01+d.2004.02+d.2004.03+d.2004.04+d.2004.05+d.2004.06+d.2004.07+d.2004.08+d.2004.09+d.2004.10+d.2004.11+d.2004.12+
d.2005.01+d.2005.02+d.2005.03+d.2005.04+d.2005.05+d.2005.06+d.2005.07+d.2005.09+d.2005.10+d.2005.11+d.2005.12+
d.2006.01+d.2006.02+d.2006.03+d.2006.04+d.2006.05+d.2006.06+d.2006.07+d.2006.08+d.2006.09+d.2006.10+d.2006.11+d.2006.12+
d.2007.01+d.2007.02+d.2007.03+d.2007.04+d.2007.05+d.2007.06+d.2007.07+d.2007.08+d.2007.09+d.2007.10+d.2007.11+d.2007.12+
d.2008.01+d.2008.02+d.2008.03+d.2008.04+d.2008.05+d.2008.06+d.2008.07+d.2008.08+d.2008.09+d.2008.10+d.2008.11+d.2008.12+
d.2009.01+d.2009.02+d.2009.03+d.2009.04+d.2009.05+d.2009.06+d.2009.07+d.2009.08+d.2009.09+d.2009.10+d.2009.11+d.2009.12+
d.2010.01+d.2010.02+d.2010.03+d.2010.04+d.2010.05+d.2010.06+d.2010.07+d.2010.08+d.2010.09+d.2010.10+d.2010.11+d.2010.12+
d.2011.01+d.2011.02+d.2011.03+d.2011.04+d.2011.05+d.2011.06+d.2011.07+d.2011.08+d.2011.09+d.2011.10+d.2011.11+d.2011.12+
d.2012.01+d.2012.02+d.2012.03+d.2012.04+d.2012.05+d.2012.06+d.2012.07+d.2012.08+d.2012.09+d.2012.10+d.2012.11+d.2012.12+
d.2013.01+d.2013.02+d.2013.03+d.2013.04+d.2013.05+d.2013.06+d.2013.07+d.2013.08+d.2013.09+d.2013.10+d.2013.11+d.2013.12+
d.2014.01+d.2014.02+d.2014.03+d.2014.04+d.2014.05+d.2014.06+d.2014.07+d.2014.08+d.2014.09+d.2014.10+d.2014.11+d.2014.12+
d.2015.01+d.2015.02+d.2015.03+d.2015.04+d.2015.05+d.2015.06+d.2015.07) |
COUNTY + DATE | 0 | COUNTY,
data = df5)
summary(did.reg)
##
## Call:
## felm(formula = log(Employee) ~ treat:(d.2000.01 + d.2000.02 + d.2000.03 + d.2000.04 + d.2000.05 + d.2000.06 + d.2000.07 + d.2000.08 + d.2000.09 + d.2000.10 + d.2000.11 + d.2000.12 + d.2001.01 + d.2001.02 + d.2001.03 + d.2001.04 + d.2001.05 + d.2001.06 + d.2001.07 + d.2001.08 + d.2001.09 + d.2001.10 + d.2001.11 + d.2001.12 + d.2002.01 + d.2002.02 + d.2002.03 + d.2002.04 + d.2002.05 + d.2002.06 + d.2002.07 + d.2002.08 + d.2002.09 + d.2002.10 + d.2002.11 + d.2002.12 + d.2003.01 + d.2003.02 + d.2003.03 + d.2003.04 + d.2003.05 + d.2003.06 + d.2003.07 + d.2003.08 + d.2003.09 + d.2003.10 + d.2003.11 + d.2003.12 + d.2004.01 + d.2004.02 + d.2004.03 + d.2004.04 + d.2004.05 + d.2004.06 + d.2004.07 + d.2004.08 + d.2004.09 + d.2004.10 + d.2004.11 + d.2004.12 + d.2005.01 + d.2005.02 + d.2005.03 + d.2005.04 + d.2005.05 + d.2005.06 + d.2005.07 + d.2005.09 + d.2005.10 + d.2005.11 + d.2005.12 + d.2006.01 + d.2006.02 + d.2006.03 + d.2006.04 + d.2006.05 + d.2006.06 + d.2006.07 + d.2006.08 + d.2006.09 + d.2006.10 + d.2006.11 + d.2006.12 + d.2007.01 + d.2007.02 + d.2007.03 + d.2007.04 + d.2007.05 + d.2007.06 + d.2007.07 + d.2007.08 + d.2007.09 + d.2007.10 + d.2007.11 + d.2007.12 + d.2008.01 + d.2008.02 + d.2008.03 + d.2008.04 + d.2008.05 + d.2008.06 + d.2008.07 + d.2008.08 + d.2008.09 + d.2008.10 + d.2008.11 + d.2008.12 + d.2009.01 + d.2009.02 + d.2009.03 + d.2009.04 + d.2009.05 + d.2009.06 + d.2009.07 + d.2009.08 + d.2009.09 + d.2009.10 + d.2009.11 + d.2009.12 + d.2010.01 + d.2010.02 + d.2010.03 + d.2010.04 + d.2010.05 + d.2010.06 + d.2010.07 + d.2010.08 + d.2010.09 + d.2010.10 + d.2010.11 + d.2010.12 + d.2011.01 + d.2011.02 + d.2011.03 + d.2011.04 + d.2011.05 + d.2011.06 + d.2011.07 + d.2011.08 + d.2011.09 + d.2011.10 + d.2011.11 + d.2011.12 + d.2012.01 + d.2012.02 + d.2012.03 + d.2012.04 + d.2012.05 + d.2012.06 + d.2012.07 + d.2012.08 + d.2012.09 + d.2012.10 + d.2012.11 + d.2012.12 + d.2013.01 + d.2013.02 + d.2013.03 + d.2013.04 + d.2013.05 + d.2013.06 + d.2013.07 + d.2013.08 + d.2013.09 + d.2013.10 + d.2013.11 + d.2013.12 + d.2014.01 + d.2014.02 + d.2014.03 + d.2014.04 + d.2014.05 + d.2014.06 + d.2014.07 + d.2014.08 + d.2014.09 + d.2014.10 + d.2014.11 + d.2014.12 + d.2015.01 + d.2015.02 + d.2015.03 + d.2015.04 + d.2015.05 + d.2015.06 + d.2015.07) | COUNTY + DATE | 0 | COUNTY, data = df5)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.9655 -0.0498 0.0014 0.0558 3.4892
##
## Coefficients:
## Estimate Cluster s.e. t value Pr(>|t|)
## treat:d.2000.01 -0.0266419 0.0095512 -2.789 0.005466 **
## treat:d.2000.02 -0.0307352 0.0090910 -3.381 0.000775 ***
## treat:d.2000.03 -0.0300071 0.0092601 -3.240 0.001266 **
## treat:d.2000.04 -0.0231797 0.0095868 -2.418 0.015939 *
## treat:d.2000.05 -0.0278067 0.0094718 -2.936 0.003469 **
## treat:d.2000.06 -0.0272668 0.0092984 -2.932 0.003505 **
## treat:d.2000.07 -0.0226726 0.0100605 -2.254 0.024617 *
## treat:d.2000.08 -0.0248916 0.0100770 -2.470 0.013812 *
## treat:d.2000.09 -0.0329423 0.0105461 -3.124 0.001881 **
## treat:d.2000.10 -0.0304034 0.0102002 -2.981 0.003005 **
## treat:d.2000.11 -0.0324160 0.0096986 -3.342 0.000888 ***
## treat:d.2000.12 -0.0300528 0.0097452 -3.084 0.002147 **
## treat:d.2001.01 -0.0302456 0.0085111 -3.554 0.000413 ***
## treat:d.2001.02 -0.0282739 0.0085288 -3.315 0.000977 ***
## treat:d.2001.03 -0.0262569 0.0087849 -2.989 0.002927 **
## treat:d.2001.04 -0.0262923 0.0085208 -3.086 0.002135 **
## treat:d.2001.05 -0.0296724 0.0086158 -3.444 0.000618 ***
## treat:d.2001.06 -0.0235302 0.0083139 -2.830 0.004824 **
## treat:d.2001.07 -0.0192407 0.0083138 -2.314 0.021023 *
## treat:d.2001.08 -0.0247619 0.0083993 -2.948 0.003335 **
## treat:d.2001.09 -0.0292304 0.0087275 -3.349 0.000867 ***
## treat:d.2001.10 -0.0268234 0.0089613 -2.993 0.002886 **
## treat:d.2001.11 -0.0244281 0.0085537 -2.856 0.004456 **
## treat:d.2001.12 -0.0269294 0.0082318 -3.271 0.001138 **
## treat:d.2002.01 -0.0232356 0.0079747 -2.914 0.003719 **
## treat:d.2002.02 -0.0219128 0.0078331 -2.797 0.005333 **
## treat:d.2002.03 -0.0209884 0.0080295 -2.614 0.009200 **
## treat:d.2002.04 -0.0193921 0.0076508 -2.535 0.011536 *
## treat:d.2002.05 -0.0206862 0.0081739 -2.531 0.011663 *
## treat:d.2002.06 -0.0150750 0.0077641 -1.942 0.052701 .
## treat:d.2002.07 -0.0114271 0.0078284 -1.460 0.144952
## treat:d.2002.08 -0.0116980 0.0081792 -1.430 0.153232
## treat:d.2002.09 -0.0233158 0.0080821 -2.885 0.004071 **
## treat:d.2002.10 -0.0187801 0.0091319 -2.057 0.040208 *
## treat:d.2002.11 -0.0177671 0.0085547 -2.077 0.038282 *
## treat:d.2002.12 -0.0184218 0.0085178 -2.163 0.030996 *
## treat:d.2003.01 -0.0092005 0.0079602 -1.156 0.248263
## treat:d.2003.02 -0.0131265 0.0071501 -1.836 0.066928 .
## treat:d.2003.03 -0.0152268 0.0073785 -2.064 0.039524 *
## treat:d.2003.04 -0.0098073 0.0071770 -1.367 0.172347
## treat:d.2003.05 -0.0098169 0.0073357 -1.338 0.181379
## treat:d.2003.06 -0.0055804 0.0071650 -0.779 0.436411
## treat:d.2003.07 -0.0043655 0.0063096 -0.692 0.489310
## treat:d.2003.08 -0.0047050 0.0070972 -0.663 0.507651
## treat:d.2003.09 -0.0124450 0.0072447 -1.718 0.086401 .
## treat:d.2003.10 -0.0047254 0.0081276 -0.581 0.561210
## treat:d.2003.11 -0.0059995 0.0075125 -0.799 0.424872
## treat:d.2003.12 -0.0082294 0.0063354 -1.299 0.194511
## treat:d.2004.01 -0.0050144 0.0054581 -0.919 0.358650
## treat:d.2004.02 -0.0047867 0.0052583 -0.910 0.363062
## treat:d.2004.03 -0.0053292 0.0049616 -1.074 0.283260
## treat:d.2004.04 -0.0051391 0.0047835 -1.074 0.283152
## treat:d.2004.05 -0.0073823 0.0045872 -1.609 0.108125
## treat:d.2004.06 -0.0067700 0.0040658 -1.665 0.096469 .
## treat:d.2004.07 0.0020748 0.0043583 0.476 0.634225
## treat:d.2004.08 0.0025842 0.0043356 0.596 0.551392
## treat:d.2004.09 -0.0064174 0.0042751 -1.501 0.133914
## treat:d.2004.10 0.0009153 0.0044510 0.206 0.837149
## treat:d.2004.11 -0.0004349 0.0038695 -0.112 0.910550
## treat:d.2004.12 -0.0009193 0.0036829 -0.250 0.802978
## treat:d.2005.01 0.0025215 0.0026492 0.952 0.341623
## treat:d.2005.02 -0.0027992 0.0032144 -0.871 0.384239
## treat:d.2005.03 -0.0058255 0.0034289 -1.699 0.089898 .
## treat:d.2005.04 0.0013823 0.0023571 0.586 0.557827
## treat:d.2005.05 -0.0003158 0.0021718 -0.145 0.884438
## treat:d.2005.06 0.0028877 0.0020014 1.443 0.149643
## treat:d.2005.07 0.0038093 0.0013320 2.860 0.004401 **
## treat:d.2005.09 0.0627180 0.0026133 24.000 < 2e-16 ***
## treat:d.2005.10 0.0727182 0.0039957 18.199 < 2e-16 ***
## treat:d.2005.11 0.0677205 0.0046961 14.420 < 2e-16 ***
## treat:d.2005.12 0.0623626 0.0053519 11.652 < 2e-16 ***
## treat:d.2006.01 0.0617198 0.0064749 9.532 < 2e-16 ***
## treat:d.2006.02 0.0625420 0.0067262 9.298 < 2e-16 ***
## treat:d.2006.03 0.0617166 0.0065389 9.438 < 2e-16 ***
## treat:d.2006.04 0.0601664 0.0065636 9.167 < 2e-16 ***
## treat:d.2006.05 0.0547589 0.0061522 8.901 < 2e-16 ***
## treat:d.2006.06 0.0509797 0.0058985 8.643 < 2e-16 ***
## treat:d.2006.07 0.0536674 0.0060555 8.863 < 2e-16 ***
## treat:d.2006.08 0.0478365 0.0060975 7.845 2.31e-14 ***
## treat:d.2006.09 0.0475949 0.0064407 7.390 5.59e-13 ***
## treat:d.2006.10 0.0448435 0.0063951 7.012 7.00e-12 ***
## treat:d.2006.11 0.0428748 0.0058786 7.293 1.08e-12 ***
## treat:d.2006.12 0.0340286 0.0060382 5.636 2.81e-08 ***
## treat:d.2007.01 0.0390288 0.0066633 5.857 8.16e-09 ***
## treat:d.2007.02 0.0421153 0.0066366 6.346 4.67e-10 ***
## treat:d.2007.03 0.0419824 0.0066636 6.300 6.15e-10 ***
## treat:d.2007.04 0.0428897 0.0066213 6.477 2.09e-10 ***
## treat:d.2007.05 0.0357585 0.0069350 5.156 3.54e-07 ***
## treat:d.2007.06 0.0363975 0.0073167 4.975 8.79e-07 ***
## treat:d.2007.07 0.0422663 0.0074194 5.697 2.00e-08 ***
## treat:d.2007.08 0.0472213 0.0072144 6.545 1.37e-10 ***
## treat:d.2007.09 0.0471250 0.0072464 6.503 1.79e-10 ***
## treat:d.2007.10 0.0470054 0.0073864 6.364 4.19e-10 ***
## treat:d.2007.11 0.0473938 0.0072789 6.511 1.70e-10 ***
## treat:d.2007.12 0.0442283 0.0073406 6.025 3.12e-09 ***
## treat:d.2008.01 0.0452017 0.0080817 5.593 3.54e-08 ***
## treat:d.2008.02 0.0504902 0.0081141 6.223 9.78e-10 ***
## treat:d.2008.03 0.0560431 0.0080771 6.939 1.13e-11 ***
## treat:d.2008.04 0.0535190 0.0077515 6.904 1.41e-11 ***
## treat:d.2008.05 0.0520818 0.0079164 6.579 1.12e-10 ***
## treat:d.2008.06 0.0479349 0.0083586 5.735 1.62e-08 ***
## treat:d.2008.07 0.0531057 0.0084970 6.250 8.31e-10 ***
## treat:d.2008.08 0.0508885 0.0082415 6.175 1.30e-09 ***
## treat:d.2008.09 0.0482270 0.0081986 5.882 7.08e-09 ***
## treat:d.2008.10 0.0490146 0.0083787 5.850 8.50e-09 ***
## treat:d.2008.11 0.0546714 0.0082710 6.610 9.20e-11 ***
## treat:d.2008.12 0.0468794 0.0094115 4.981 8.51e-07 ***
## treat:d.2009.01 0.0506657 0.0098735 5.132 4.01e-07 ***
## treat:d.2009.02 0.0515871 0.0099078 5.207 2.73e-07 ***
## treat:d.2009.03 0.0534296 0.0098474 5.426 8.71e-08 ***
## treat:d.2009.04 0.0562152 0.0097038 5.793 1.17e-08 ***
## treat:d.2009.05 0.0606159 0.0094293 6.428 2.83e-10 ***
## treat:d.2009.06 0.0603027 0.0096949 6.220 9.93e-10 ***
## treat:d.2009.07 0.0662839 0.0102969 6.437 2.68e-10 ***
## treat:d.2009.08 0.0560764 0.0105961 5.292 1.76e-07 ***
## treat:d.2009.09 0.0529193 0.0108820 4.863 1.52e-06 ***
## treat:d.2009.10 0.0578510 0.0103631 5.582 3.75e-08 ***
## treat:d.2009.11 0.0621224 0.0101622 6.113 1.87e-09 ***
## treat:d.2009.12 0.0596733 0.0102955 5.796 1.15e-08 ***
## treat:d.2010.01 0.0367629 0.0144776 2.539 0.011386 *
## treat:d.2010.02 0.0458483 0.0140326 3.267 0.001154 **
## treat:d.2010.03 0.0484296 0.0140091 3.457 0.000589 ***
## treat:d.2010.04 0.0519907 0.0139328 3.732 0.000210 ***
## treat:d.2010.05 0.0515019 0.0138072 3.730 0.000212 ***
## treat:d.2010.06 0.0540559 0.0139201 3.883 0.000116 ***
## treat:d.2010.07 0.0634350 0.0137599 4.610 5.02e-06 ***
## treat:d.2010.08 0.0514872 0.0141415 3.641 0.000298 ***
## treat:d.2010.09 0.0437050 0.0142395 3.069 0.002253 **
## treat:d.2010.10 0.0396308 0.0147859 2.680 0.007579 **
## treat:d.2010.11 0.0363491 0.0150430 2.416 0.016006 *
## treat:d.2010.12 0.0308766 0.0155188 1.990 0.047133 *
## treat:d.2011.01 0.0275873 0.0156469 1.763 0.078444 .
## treat:d.2011.02 0.0334891 0.0156776 2.136 0.033117 *
## treat:d.2011.03 0.0285194 0.0157996 1.805 0.071617 .
## treat:d.2011.04 0.0366581 0.0156865 2.337 0.019806 *
## treat:d.2011.05 0.0359728 0.0153927 2.337 0.019802 *
## treat:d.2011.06 0.0384052 0.0153073 2.509 0.012400 *
## treat:d.2011.07 0.0495111 0.0150854 3.282 0.001097 **
## treat:d.2011.08 0.0392739 0.0150804 2.604 0.009458 **
## treat:d.2011.09 0.0341917 0.0156261 2.188 0.029086 *
## treat:d.2011.10 0.0315061 0.0159690 1.973 0.049008 *
## treat:d.2011.11 0.0341468 0.0158950 2.148 0.032134 *
## treat:d.2011.12 0.0315294 0.0157763 1.999 0.046158 *
## treat:d.2012.01 0.0271313 0.0165914 1.635 0.102575
## treat:d.2012.02 0.0331728 0.0164228 2.020 0.043882 *
## treat:d.2012.03 0.0306276 0.0168463 1.818 0.069606 .
## treat:d.2012.04 0.0343515 0.0179378 1.915 0.056013 .
## treat:d.2012.05 0.0344657 0.0175061 1.969 0.049486 *
## treat:d.2012.06 0.0397321 0.0174615 2.275 0.023270 *
## treat:d.2012.07 0.0513666 0.0166767 3.080 0.002174 **
## treat:d.2012.08 0.0413174 0.0171068 2.415 0.016053 *
## treat:d.2012.09 0.0348482 0.0170069 2.049 0.040936 *
## treat:d.2012.10 0.0363239 0.0170007 2.137 0.033076 *
## treat:d.2012.11 0.0430620 0.0171365 2.513 0.012264 *
## treat:d.2012.12 0.0438682 0.0173414 2.530 0.011698 *
## treat:d.2013.01 0.0381321 0.0173996 2.192 0.028836 *
## treat:d.2013.02 0.0423923 0.0174999 2.422 0.015743 *
## treat:d.2013.03 0.0383845 0.0181881 2.110 0.035279 *
## treat:d.2013.04 0.0406650 0.0182032 2.234 0.025893 *
## treat:d.2013.05 0.0436768 0.0174569 2.502 0.012643 *
## treat:d.2013.06 0.0489075 0.0172448 2.836 0.004737 **
## treat:d.2013.07 0.0568249 0.0168463 3.373 0.000796 ***
## treat:d.2013.08 0.0489780 0.0170945 2.865 0.004330 **
## treat:d.2013.09 0.0462231 0.0175530 2.633 0.008696 **
## treat:d.2013.10 0.0431928 0.0181485 2.380 0.017659 *
## treat:d.2013.11 0.0490487 0.0182508 2.687 0.007420 **
## treat:d.2013.12 0.0490528 0.0182798 2.683 0.007509 **
## treat:d.2014.01 0.0468639 0.0183468 2.554 0.010911 *
## treat:d.2014.02 0.0482600 0.0185180 2.606 0.009409 **
## treat:d.2014.03 0.0449164 0.0190100 2.363 0.018490 *
## treat:d.2014.04 0.0453333 0.0189815 2.388 0.017268 *
## treat:d.2014.05 0.0428309 0.0191961 2.231 0.026074 *
## treat:d.2014.06 0.0506552 0.0184621 2.744 0.006275 **
## treat:d.2014.07 0.0614799 0.0179023 3.434 0.000640 ***
## treat:d.2014.08 0.0551724 0.0180473 3.057 0.002345 **
## treat:d.2014.09 0.0535197 0.0182511 2.932 0.003505 **
## treat:d.2014.10 0.0478328 0.0187631 2.549 0.011068 *
## treat:d.2014.11 0.0502357 0.0188182 2.670 0.007823 **
## treat:d.2014.12 0.0568068 0.0184305 3.082 0.002159 **
## treat:d.2015.01 0.0494478 0.0191655 2.580 0.010140 *
## treat:d.2015.02 0.0482918 0.0190695 2.532 0.011609 *
## treat:d.2015.03 0.0427195 0.0196126 2.178 0.029823 *
## treat:d.2015.04 0.0406070 0.0196447 2.067 0.039201 *
## treat:d.2015.05 0.0387725 0.0193265 2.006 0.045332 *
## treat:d.2015.06 0.0458421 0.0184911 2.479 0.013472 *
## treat:d.2015.07 0.0517953 0.0183351 2.825 0.004903 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5085 on 119699 degrees of freedom
## Multiple R-squared(full model): 0.8893 Adjusted R-squared: 0.8884
## Multiple R-squared(proj model): 0.0003005 Adjusted R-squared: -0.007341
## F-statistic(full model, *iid*): 1051 on 915 and 119699 DF, p-value: < 2.2e-16
## F-statistic(proj model): 126.5 on 186 and 543 DF, p-value: < 2.2e-16
summary_text <- capture.output(summary(did.reg))
coef_df <- coeftest(did.reg)
head(coef_df)
## Estimate Std. Error t value Pr(>|t|)
## treat:d.2000.01 -0.02664190 0.009551219 -2.789372 0.0054664568
## treat:d.2000.02 -0.03073522 0.009090983 -3.380847 0.0007746154
## treat:d.2000.03 -0.03000708 0.009260098 -3.240471 0.0012664106
## treat:d.2000.04 -0.02317975 0.009586772 -2.417888 0.0159390089
## treat:d.2000.05 -0.02780665 0.009471805 -2.935729 0.0034686027
## treat:d.2000.06 -0.02726679 0.009298368 -2.932427 0.0035051116
# Extract and display the "Multiple R-squared (full model)" and "Adjusted R-squared" portion
cat(grep("Multiple R-squared\\(full model\\): [0-9.]+", summary_text, value = TRUE), "\n")
## Multiple R-squared(full model): 0.8893 Adjusted R-squared: 0.8884
## Export Coeffiecent and test for Heteroscedasticity SE
coef_df <- coeftest(did.reg)
coef_df <- coef_df[,] %>%
as_tibble() %>%
mutate(variables = rownames(coef_df))
coef_df$date <- as.Date(paste0(coef_df$variables, ".01"),
format = "treat:d.%Y.%m.%d")
event_df <- data.frame(date=seq.Date(as.Date("2000-01-01"),as.Date("2015-07-01"),by = "month"))
event_df <- left_join(event_df, coef_df[, c(1, 2, 6)])
## Joining with `by = join_by(date)`
event_df[is.na(event_df)] <- 0
colnames(event_df) <- c("time","coef","se")
## Makes Confident Interval
event_df$ci_upper <- event_df$coef + 1.96 * event_df$se
event_df$ci_lower <- event_df$coef - 1.96 * event_df$se
head(event_df,3)
## time coef se ci_upper ci_lower
## 1 2000-01-01 -0.02664190 0.009551219 -0.007921511 -0.04536229
## 2 2000-02-01 -0.03073522 0.009090983 -0.012916892 -0.04855354
## 3 2000-03-01 -0.03000708 0.009260098 -0.011857287 -0.04815687
dates <- seq.Date(as.Date("2000-01-01"),as.Date("2015-07-01"),by='month')
# Define start and end dates for plot
start_date <- as.Date("2004-08-01")
end_date <- as.Date("2015-07-01")
# Create sequence of dates for x-axis
dates_seq <- seq.Date(from = start_date, to = end_date, by = "month")
# Subset event_df to only include dates after or equal to start_date
event_df_sub <- event_df[dates >= start_date, ]
pl1 <- ggplot(event_df, aes(x = dates, y = coef)) +
geom_point() +
geom_line()+
#geom_errorbar(aes(ymin = ci_lower, ymax = ci_upper), width = 0.2) +
geom_ribbon(aes(ymin = ci_lower, ymax = ci_upper), alpha = 0.2) +
geom_hline(yintercept = 0, linetype = "dashed", color = "red") +
geom_vline(xintercept = as.Date("2005-08-01"), linetype = "dashed", color = "blue") +
scale_y_continuous(labels = function(x) paste0(x * 100, "%")) +
scale_x_date(date_labels = "%Y-%m", limits = c(start_date, end_date), breaks = "1 year") +
labs(title = "Panel B: Employed Person", y = "Percentage") +
plot.theme
pl1

Unemployment Rate
df6 <- read.csv("Merge UnemRate ballance V2 FULL-Location.csv") %>%
filter(COUNTY != "Jefferson Parish", COUNTY != "Orleans Parish",
COUNTY != "Plaquemines Parish", COUNTY != "St. Bernard Parish",
COUNTY != "St. Charles Parish", COUNTY != "St. Helena Parish",
COUNTY != "St. James Parish", COUNTY != "Adams County",
COUNTY != "Amite County", COUNTY != "Attala County",
COUNTY != "Claiborne County", COUNTY != "Choctaw County",
COUNTY != "Clarke County", COUNTY != "Copiah County",
COUNTY != "Covington County", COUNTY != "Franklin County",
COUNTY != "Forrest County", COUNTY != "George County",
COUNTY != "Greene County", COUNTY != "Hancock County",
COUNTY != "Harrison County", COUNTY != "Hinds County",
COUNTY != "Holmes County", COUNTY != "Humphreys County",
COUNTY != "Jackson County", COUNTY != "Jasper County",
COUNTY != "Jefferson County", COUNTY != "Jefferson Davis County",
COUNTY != "Jones County", COUNTY != "Kemper County",
COUNTY != "Bay County", COUNTY != "Escambia County",
COUNTY != "Franklin County", COUNTY != "Gulf County",
COUNTY != "Okaloosa County", COUNTY != "Santa Rosa County",
COUNTY != "Walton County", COUNTY != "Collier County",
COUNTY != "Tuscaloosa County", COUNTY != "Pickens County",
COUNTY != "Hale County", COUNTY != "Greene County",
COUNTY != "Sumter County", COUNTY != "Choctaw County",
COUNTY != "Clarke County", COUNTY != "Washington County",
COUNTY != "Mobile County", COUNTY != "Baldwin County") %>%
mutate(DATE = as.Date(DATE),
treat = ifelse(STATE == "LA" & DATE >= as.Date("2005-08-01"), 1, 0),
year = as.numeric(format(DATE, "%Y"))) %>%
group_by(COUNTY, STATE) %>%
filter(!any(is.na(Unemployee.Rate)))
Balancing Data and Calculating Unit Weights
dt <- seq.Date(from = as.Date("2000-01-01"),
to = as.Date("2015-12-01"), by = "month")
df.fix <- data.frame(FIPS = rep(unique(df6$FIPS), length(dt))) %>%
arrange(FIPS) %>%
mutate(DATE = rep(dt, length(unique(df6$FIPS))))
bal_df <- left_join(df.fix, df6, by = c("FIPS", "DATE")) %>%
select(COUNTY, FIPS, STATE, DATE, treat, Unemployee.Rate) %>%
group_by(FIPS) %>%
filter(!any(is.na(Unemployee.Rate))) %>%
ungroup()
bal_df$FIPS <- factor(bal_df$FIPS)
bal_df <- as.data.frame(bal_df)
bal_df$lg <- log(bal_df$Unemployee.Rate)
setup <- panel.matrices(bal_df,
unit = "FIPS", time = "DATE", outcome = "lg", treatment = "treat")
sdid.df <- synthdid_estimate(setup$Y, setup$N0, setup$T0)
unit.weights <- synthdid_controls(sdid.df, weight.type = 'omega', mass = 1)
unit.df <- data.frame(sdid = round(unit.weights[rev(1:nrow(unit.weights)), ], 3)) %>%
rownames_to_column(var = "FIPS")
head(unit.df)
## FIPS sdid
## 1 37175 0
## 2 30009 0
## 3 29159 0
## 4 17187 0
## 5 26041 0
## 6 6041 0
Subsetting data by Weight Counties (SDID > 0)
map_df <- unit.df %>%
mutate(sdid_mp = ifelse(sdid > 0, 1, 0))
cnty_fips <- df6 %>%
distinct(COUNTY, FIPS)
map_sdid <- map_df %>%
filter(sdid_mp == 1) %>%
merge(cnty_fips, by = "FIPS")
regdf <- df6 %>%
filter(STATE == "LA" | FIPS %in% map_sdid$FIPS)
## SUbset Data, because we want focus on before Feb 2010
df7 <- regdf %>%
filter(DATE < as.Date("2015-08-01")) %>%
mutate(treat = as.numeric(STATE == "LA"))
Unemployment Rate Regression Model
## Makes Date Dummy
dloop <- data.frame(DATE = unique(df7$DATE))
dloop <- dloop %>%
mutate(year = format(DATE, "%Y"),
month=str_pad(string = format(DATE,"%m"),width = 2,side = "left",pad = 0))
## YEAR DUMMY
for (i in 1:nrow(dloop)) {
df7[paste0("d.", dloop$year[i],".",dloop$month[i])] <- as.numeric(df7$DATE == unique(df7$DATE)[i])
}
## RUN MODEL
did.reg <- felm(log(Unemployee.Rate) ~
treat:(d.2000.01+d.2000.02+d.2000.03+d.2000.04+d.2000.05+d.2000.06+d.2000.07+d.2000.08+d.2000.09+d.2000.10+d.2000.11+d.2000.12+
d.2001.01+d.2001.02+d.2001.03+d.2001.04+d.2001.05+d.2001.06+d.2001.07+d.2001.08+d.2001.09+d.2001.10+d.2001.11+d.2001.12+
d.2002.01+d.2002.02+d.2002.03+d.2002.04+d.2002.05+d.2002.06+d.2002.07+d.2002.08+d.2002.09+d.2002.10+d.2002.11+d.2002.12+
d.2003.01+d.2003.02+d.2003.03+d.2003.04+d.2003.05+d.2003.06+d.2003.07+d.2003.08+d.2003.09+d.2003.10+d.2003.11+d.2003.12+
d.2004.01+d.2004.02+d.2004.03+d.2004.04+d.2004.05+d.2004.06+d.2004.07+d.2004.08+d.2004.09+d.2004.10+d.2004.11+d.2004.12+
d.2005.01+d.2005.02+d.2005.03+d.2005.04+d.2005.05+d.2005.06+d.2005.07+d.2005.09+d.2005.10+d.2005.11+d.2005.12+
d.2006.01+d.2006.02+d.2006.03+d.2006.04+d.2006.05+d.2006.06+d.2006.07+d.2006.08+d.2006.09+d.2006.10+d.2006.11+d.2006.12+
d.2007.01+d.2007.02+d.2007.03+d.2007.04+d.2007.05+d.2007.06+d.2007.07+d.2007.08+d.2007.09+d.2007.10+d.2007.11+d.2007.12+
d.2008.01+d.2008.02+d.2008.03+d.2008.04+d.2008.05+d.2008.06+d.2008.07+d.2008.08+d.2008.09+d.2008.10+d.2008.11+d.2008.12+
d.2009.01+d.2009.02+d.2009.03+d.2009.04+d.2009.05+d.2009.06+d.2009.07+d.2009.08+d.2009.09+d.2009.10+d.2009.11+d.2009.12+
d.2010.01+d.2010.02+d.2010.03+d.2010.04+d.2010.05+d.2010.06+d.2010.07+d.2010.08+d.2010.09+d.2010.10+d.2010.11+d.2010.12+
d.2011.01+d.2011.02+d.2011.03+d.2011.04+d.2011.05+d.2011.06+d.2011.07+d.2011.08+d.2011.09+d.2011.10+d.2011.11+d.2011.12+
d.2012.01+d.2012.02+d.2012.03+d.2012.04+d.2012.05+d.2012.06+d.2012.07+d.2012.08+d.2012.09+d.2012.10+d.2012.11+d.2012.12+
d.2013.01+d.2013.02+d.2013.03+d.2013.04+d.2013.05+d.2013.06+d.2013.07+d.2013.08+d.2013.09+d.2013.10+d.2013.11+d.2013.12+
d.2014.01+d.2014.02+d.2014.03+d.2014.04+d.2014.05+d.2014.06+d.2014.07+d.2014.08+d.2014.09+d.2014.10+d.2014.11+d.2014.12+
d.2015.01+d.2015.02+d.2015.03+d.2015.04+d.2015.05+d.2015.06+d.2015.07) |
COUNTY + DATE | 0 | COUNTY,
data = df7)
summary(did.reg)
##
## Call:
## felm(formula = log(Unemployee.Rate) ~ treat:(d.2000.01 + d.2000.02 + d.2000.03 + d.2000.04 + d.2000.05 + d.2000.06 + d.2000.07 + d.2000.08 + d.2000.09 + d.2000.10 + d.2000.11 + d.2000.12 + d.2001.01 + d.2001.02 + d.2001.03 + d.2001.04 + d.2001.05 + d.2001.06 + d.2001.07 + d.2001.08 + d.2001.09 + d.2001.10 + d.2001.11 + d.2001.12 + d.2002.01 + d.2002.02 + d.2002.03 + d.2002.04 + d.2002.05 + d.2002.06 + d.2002.07 + d.2002.08 + d.2002.09 + d.2002.10 + d.2002.11 + d.2002.12 + d.2003.01 + d.2003.02 + d.2003.03 + d.2003.04 + d.2003.05 + d.2003.06 + d.2003.07 + d.2003.08 + d.2003.09 + d.2003.10 + d.2003.11 + d.2003.12 + d.2004.01 + d.2004.02 + d.2004.03 + d.2004.04 + d.2004.05 + d.2004.06 + d.2004.07 + d.2004.08 + d.2004.09 + d.2004.10 + d.2004.11 + d.2004.12 + d.2005.01 + d.2005.02 + d.2005.03 + d.2005.04 + d.2005.05 + d.2005.06 + d.2005.07 + d.2005.09 + d.2005.10 + d.2005.11 + d.2005.12 + d.2006.01 + d.2006.02 + d.2006.03 + d.2006.04 + d.2006.05 + d.2006.06 + d.2006.07 + d.2006.08 + d.2006.09 + d.2006.10 + d.2006.11 + d.2006.12 + d.2007.01 + d.2007.02 + d.2007.03 + d.2007.04 + d.2007.05 + d.2007.06 + d.2007.07 + d.2007.08 + d.2007.09 + d.2007.10 + d.2007.11 + d.2007.12 + d.2008.01 + d.2008.02 + d.2008.03 + d.2008.04 + d.2008.05 + d.2008.06 + d.2008.07 + d.2008.08 + d.2008.09 + d.2008.10 + d.2008.11 + d.2008.12 + d.2009.01 + d.2009.02 + d.2009.03 + d.2009.04 + d.2009.05 + d.2009.06 + d.2009.07 + d.2009.08 + d.2009.09 + d.2009.10 + d.2009.11 + d.2009.12 + d.2010.01 + d.2010.02 + d.2010.03 + d.2010.04 + d.2010.05 + d.2010.06 + d.2010.07 + d.2010.08 + d.2010.09 + d.2010.10 + d.2010.11 + d.2010.12 + d.2011.01 + d.2011.02 + d.2011.03 + d.2011.04 + d.2011.05 + d.2011.06 + d.2011.07 + d.2011.08 + d.2011.09 + d.2011.10 + d.2011.11 + d.2011.12 + d.2012.01 + d.2012.02 + d.2012.03 + d.2012.04 + d.2012.05 + d.2012.06 + d.2012.07 + d.2012.08 + d.2012.09 + d.2012.10 + d.2012.11 + d.2012.12 + d.2013.01 + d.2013.02 + d.2013.03 + d.2013.04 + d.2013.05 + d.2013.06 + d.2013.07 + d.2013.08 + d.2013.09 + d.2013.10 + d.2013.11 + d.2013.12 + d.2014.01 + d.2014.02 + d.2014.03 + d.2014.04 + d.2014.05 + d.2014.06 + d.2014.07 + d.2014.08 + d.2014.09 + d.2014.10 + d.2014.11 + d.2014.12 + d.2015.01 + d.2015.02 + d.2015.03 + d.2015.04 + d.2015.05 + d.2015.06 + d.2015.07) | COUNTY + DATE | 0 | COUNTY, data = df7)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.41646 -0.12621 0.00519 0.13427 1.45439
##
## Coefficients:
## Estimate Cluster s.e. t value Pr(>|t|)
## treat:d.2000.01 -0.026557 0.021086 -1.259 0.208293
## treat:d.2000.02 -0.129896 0.022550 -5.760 1.27e-08 ***
## treat:d.2000.03 -0.052506 0.021719 -2.418 0.015890 *
## treat:d.2000.04 -0.061183 0.020716 -2.953 0.003251 **
## treat:d.2000.05 -0.000920 0.019707 -0.047 0.962779
## treat:d.2000.06 0.070384 0.019105 3.684 0.000248 ***
## treat:d.2000.07 0.002811 0.019690 0.143 0.886534
## treat:d.2000.08 0.035000 0.018917 1.850 0.064713 .
## treat:d.2000.09 0.063136 0.020866 3.026 0.002574 **
## treat:d.2000.10 0.050427 0.021084 2.392 0.017042 *
## treat:d.2000.11 0.049376 0.018230 2.708 0.006930 **
## treat:d.2000.12 0.050405 0.020702 2.435 0.015157 *
## treat:d.2001.01 0.085541 0.019622 4.359 1.51e-05 ***
## treat:d.2001.02 -0.043015 0.022104 -1.946 0.052068 .
## treat:d.2001.03 0.015405 0.023320 0.661 0.509083
## treat:d.2001.04 0.015746 0.018364 0.857 0.391517
## treat:d.2001.05 0.018797 0.017188 1.094 0.274497
## treat:d.2001.06 0.040877 0.016783 2.436 0.015128 *
## treat:d.2001.07 -0.017785 0.017143 -1.037 0.299912
## treat:d.2001.08 -0.018175 0.016517 -1.100 0.271557
## treat:d.2001.09 0.047218 0.017066 2.767 0.005814 **
## treat:d.2001.10 -0.003601 0.019321 -0.186 0.852211
## treat:d.2001.11 -0.029760 0.019786 -1.504 0.133032
## treat:d.2001.12 -0.011792 0.018835 -0.626 0.531462
## treat:d.2002.01 0.007433 0.020937 0.355 0.722671
## treat:d.2002.02 -0.102974 0.021238 -4.849 1.54e-06 ***
## treat:d.2002.03 -0.072063 0.022140 -3.255 0.001191 **
## treat:d.2002.04 -0.032878 0.020471 -1.606 0.108731
## treat:d.2002.05 -0.017170 0.018779 -0.914 0.360880
## treat:d.2002.06 0.012065 0.017702 0.682 0.495760
## treat:d.2002.07 -0.053430 0.018178 -2.939 0.003402 **
## treat:d.2002.08 -0.007674 0.017860 -0.430 0.667555
## treat:d.2002.09 0.005469 0.018970 0.288 0.773188
## treat:d.2002.10 -0.029811 0.020401 -1.461 0.144400
## treat:d.2002.11 -0.049775 0.021038 -2.366 0.018265 *
## treat:d.2002.12 -0.030367 0.019895 -1.526 0.127391
## treat:d.2003.01 -0.001678 0.020518 -0.082 0.934856
## treat:d.2003.02 -0.066153 0.022403 -2.953 0.003257 **
## treat:d.2003.03 0.018142 0.021855 0.830 0.406779
## treat:d.2003.04 0.013347 0.021352 0.625 0.532113
## treat:d.2003.05 0.018591 0.018439 1.008 0.313715
## treat:d.2003.06 0.079935 0.016368 4.884 1.30e-06 ***
## treat:d.2003.07 0.043905 0.015808 2.777 0.005631 **
## treat:d.2003.08 0.041658 0.015566 2.676 0.007626 **
## treat:d.2003.09 0.005270 0.016399 0.321 0.748021
## treat:d.2003.10 -0.050724 0.016373 -3.098 0.002029 **
## treat:d.2003.11 -0.088276 0.015632 -5.647 2.40e-08 ***
## treat:d.2003.12 -0.056976 0.014660 -3.887 0.000112 ***
## treat:d.2004.01 0.009757 0.014170 0.689 0.491346
## treat:d.2004.02 -0.095302 0.015678 -6.079 2.02e-09 ***
## treat:d.2004.03 -0.047983 0.015099 -3.178 0.001551 **
## treat:d.2004.04 -0.001044 0.013613 -0.077 0.938899
## treat:d.2004.05 0.002519 0.010929 0.230 0.817791
## treat:d.2004.06 0.059959 0.010619 5.647 2.41e-08 ***
## treat:d.2004.07 -0.001102 0.010652 -0.103 0.917638
## treat:d.2004.08 -0.052092 0.012375 -4.209 2.91e-05 ***
## treat:d.2004.09 -0.007238 0.013153 -0.550 0.582302
## treat:d.2004.10 -0.046090 0.012587 -3.662 0.000270 ***
## treat:d.2004.11 -0.080891 0.010814 -7.480 2.31e-13 ***
## treat:d.2004.12 -0.079635 0.011765 -6.769 2.82e-11 ***
## treat:d.2005.01 -0.009702 0.012831 -0.756 0.449816
## treat:d.2005.02 -0.111465 0.013000 -8.574 < 2e-16 ***
## treat:d.2005.03 -0.089424 0.012640 -7.075 3.74e-12 ***
## treat:d.2005.04 -0.072125 0.010403 -6.933 9.64e-12 ***
## treat:d.2005.05 -0.047511 0.008331 -5.703 1.76e-08 ***
## treat:d.2005.06 0.032018 0.007699 4.159 3.62e-05 ***
## treat:d.2005.07 -0.011470 0.007319 -1.567 0.117541
## treat:d.2005.09 0.393302 0.038719 10.158 < 2e-16 ***
## treat:d.2005.10 0.440253 0.044634 9.864 < 2e-16 ***
## treat:d.2005.11 0.408723 0.042890 9.530 < 2e-16 ***
## treat:d.2005.12 -0.020722 0.022837 -0.907 0.364520
## treat:d.2006.01 -0.191320 0.019048 -10.044 < 2e-16 ***
## treat:d.2006.02 -0.507559 0.018574 -27.326 < 2e-16 ***
## treat:d.2006.03 -0.454684 0.016563 -27.452 < 2e-16 ***
## treat:d.2006.04 -0.466717 0.015747 -29.639 < 2e-16 ***
## treat:d.2006.05 -0.353498 0.013818 -25.582 < 2e-16 ***
## treat:d.2006.06 -0.228694 0.011572 -19.762 < 2e-16 ***
## treat:d.2006.07 -0.370279 0.012331 -30.028 < 2e-16 ***
## treat:d.2006.08 -0.285150 0.011034 -25.843 < 2e-16 ***
## treat:d.2006.09 -0.257624 0.012944 -19.904 < 2e-16 ***
## treat:d.2006.10 -0.242737 0.014015 -17.319 < 2e-16 ***
## treat:d.2006.11 -0.257225 0.012859 -20.003 < 2e-16 ***
## treat:d.2006.12 -0.276350 0.016553 -16.694 < 2e-16 ***
## treat:d.2007.01 -0.195635 0.017425 -11.228 < 2e-16 ***
## treat:d.2007.02 -0.320867 0.019269 -16.652 < 2e-16 ***
## treat:d.2007.03 -0.249960 0.015739 -15.881 < 2e-16 ***
## treat:d.2007.04 -0.206126 0.017408 -11.841 < 2e-16 ***
## treat:d.2007.05 -0.143323 0.016510 -8.681 < 2e-16 ***
## treat:d.2007.06 -0.098433 0.015207 -6.473 1.85e-10 ***
## treat:d.2007.07 -0.176497 0.017070 -10.340 < 2e-16 ***
## treat:d.2007.08 -0.193620 0.017029 -11.370 < 2e-16 ***
## treat:d.2007.09 -0.214856 0.016700 -12.865 < 2e-16 ***
## treat:d.2007.10 -0.320830 0.016999 -18.874 < 2e-16 ***
## treat:d.2007.11 -0.324401 0.019668 -16.494 < 2e-16 ***
## treat:d.2007.12 -0.301421 0.021156 -14.248 < 2e-16 ***
## treat:d.2008.01 -0.246475 0.018703 -13.178 < 2e-16 ***
## treat:d.2008.02 -0.395518 0.022315 -17.725 < 2e-16 ***
## treat:d.2008.03 -0.315458 0.019380 -16.278 < 2e-16 ***
## treat:d.2008.04 -0.347855 0.020770 -16.748 < 2e-16 ***
## treat:d.2008.05 -0.356890 0.017826 -20.021 < 2e-16 ***
## treat:d.2008.06 -0.214085 0.016377 -13.072 < 2e-16 ***
## treat:d.2008.07 -0.273645 0.020690 -13.226 < 2e-16 ***
## treat:d.2008.08 -0.272162 0.016864 -16.139 < 2e-16 ***
## treat:d.2008.09 -0.247467 0.020863 -11.862 < 2e-16 ***
## treat:d.2008.10 -0.276245 0.017417 -15.861 < 2e-16 ***
## treat:d.2008.11 -0.349241 0.020099 -17.376 < 2e-16 ***
## treat:d.2008.12 -0.367202 0.021769 -16.868 < 2e-16 ***
## treat:d.2009.01 -0.331740 0.023448 -14.148 < 2e-16 ***
## treat:d.2009.02 -0.393066 0.024997 -15.725 < 2e-16 ***
## treat:d.2009.03 -0.350904 0.023480 -14.945 < 2e-16 ***
## treat:d.2009.04 -0.323731 0.022235 -14.560 < 2e-16 ***
## treat:d.2009.05 -0.338207 0.023205 -14.575 < 2e-16 ***
## treat:d.2009.06 -0.255767 0.021461 -11.918 < 2e-16 ***
## treat:d.2009.07 -0.285065 0.023786 -11.985 < 2e-16 ***
## treat:d.2009.08 -0.306347 0.021109 -14.513 < 2e-16 ***
## treat:d.2009.09 -0.344641 0.021015 -16.400 < 2e-16 ***
## treat:d.2009.10 -0.363551 0.020327 -17.885 < 2e-16 ***
## treat:d.2009.11 -0.408047 0.019936 -20.468 < 2e-16 ***
## treat:d.2009.12 -0.388125 0.019647 -19.754 < 2e-16 ***
## treat:d.2010.01 -0.367239 0.022668 -16.201 < 2e-16 ***
## treat:d.2010.02 -0.476997 0.023752 -20.083 < 2e-16 ***
## treat:d.2010.03 -0.440068 0.023036 -19.104 < 2e-16 ***
## treat:d.2010.04 -0.410999 0.021902 -18.765 < 2e-16 ***
## treat:d.2010.05 -0.337491 0.020738 -16.274 < 2e-16 ***
## treat:d.2010.06 -0.263236 0.020075 -13.112 < 2e-16 ***
## treat:d.2010.07 -0.292853 0.020153 -14.532 < 2e-16 ***
## treat:d.2010.08 -0.264190 0.020796 -12.704 < 2e-16 ***
## treat:d.2010.09 -0.265642 0.020780 -12.783 < 2e-16 ***
## treat:d.2010.10 -0.269991 0.021298 -12.677 < 2e-16 ***
## treat:d.2010.11 -0.301816 0.021677 -13.923 < 2e-16 ***
## treat:d.2010.12 -0.314210 0.023336 -13.465 < 2e-16 ***
## treat:d.2011.01 -0.246381 0.022525 -10.938 < 2e-16 ***
## treat:d.2011.02 -0.332446 0.023469 -14.165 < 2e-16 ***
## treat:d.2011.03 -0.309758 0.023125 -13.395 < 2e-16 ***
## treat:d.2011.04 -0.311288 0.022826 -13.637 < 2e-16 ***
## treat:d.2011.05 -0.295005 0.020575 -14.338 < 2e-16 ***
## treat:d.2011.06 -0.236483 0.020251 -11.677 < 2e-16 ***
## treat:d.2011.07 -0.273726 0.021334 -12.831 < 2e-16 ***
## treat:d.2011.08 -0.284355 0.020702 -13.736 < 2e-16 ***
## treat:d.2011.09 -0.278244 0.022219 -12.523 < 2e-16 ***
## treat:d.2011.10 -0.269239 0.021878 -12.307 < 2e-16 ***
## treat:d.2011.11 -0.291868 0.021078 -13.847 < 2e-16 ***
## treat:d.2011.12 -0.308267 0.022152 -13.916 < 2e-16 ***
## treat:d.2012.01 -0.225604 0.021804 -10.347 < 2e-16 ***
## treat:d.2012.02 -0.306553 0.021849 -14.031 < 2e-16 ***
## treat:d.2012.03 -0.277109 0.021935 -12.633 < 2e-16 ***
## treat:d.2012.04 -0.270671 0.022588 -11.983 < 2e-16 ***
## treat:d.2012.05 -0.249135 0.021456 -11.611 < 2e-16 ***
## treat:d.2012.06 -0.171805 0.020778 -8.269 7.18e-16 ***
## treat:d.2012.07 -0.232430 0.021313 -10.906 < 2e-16 ***
## treat:d.2012.08 -0.255548 0.022859 -11.180 < 2e-16 ***
## treat:d.2012.09 -0.266398 0.023442 -11.364 < 2e-16 ***
## treat:d.2012.10 -0.294798 0.022408 -13.156 < 2e-16 ***
## treat:d.2012.11 -0.365853 0.022316 -16.394 < 2e-16 ***
## treat:d.2012.12 -0.313826 0.022838 -13.742 < 2e-16 ***
## treat:d.2013.01 -0.220827 0.021316 -10.359 < 2e-16 ***
## treat:d.2013.02 -0.313782 0.022568 -13.904 < 2e-16 ***
## treat:d.2013.03 -0.271595 0.022966 -11.826 < 2e-16 ***
## treat:d.2013.04 -0.239547 0.023408 -10.234 < 2e-16 ***
## treat:d.2013.05 -0.229854 0.020269 -11.340 < 2e-16 ***
## treat:d.2013.06 -0.169118 0.020289 -8.335 4.31e-16 ***
## treat:d.2013.07 -0.222885 0.021399 -10.416 < 2e-16 ***
## treat:d.2013.08 -0.229967 0.021588 -10.652 < 2e-16 ***
## treat:d.2013.09 -0.234451 0.022822 -10.273 < 2e-16 ***
## treat:d.2013.10 -0.271832 0.022778 -11.934 < 2e-16 ***
## treat:d.2013.11 -0.315839 0.021600 -14.622 < 2e-16 ***
## treat:d.2013.12 -0.382542 0.023834 -16.050 < 2e-16 ***
## treat:d.2014.01 -0.322313 0.022143 -14.556 < 2e-16 ***
## treat:d.2014.02 -0.411189 0.023838 -17.250 < 2e-16 ***
## treat:d.2014.03 -0.319954 0.021911 -14.602 < 2e-16 ***
## treat:d.2014.04 -0.246022 0.022139 -11.113 < 2e-16 ***
## treat:d.2014.05 -0.162642 0.022020 -7.386 4.46e-13 ***
## treat:d.2014.06 -0.086680 0.021077 -4.112 4.40e-05 ***
## treat:d.2014.07 -0.069471 0.020757 -3.347 0.000862 ***
## treat:d.2014.08 -0.017656 0.020362 -0.867 0.386183
## treat:d.2014.09 0.022889 0.021137 1.083 0.279242
## treat:d.2014.10 0.037964 0.021754 1.745 0.081412 .
## treat:d.2014.11 0.049165 0.021237 2.315 0.020907 *
## treat:d.2014.12 0.019963 0.021901 0.911 0.362366
## treat:d.2015.01 0.025533 0.021384 1.194 0.232882
## treat:d.2015.02 -0.033037 0.022575 -1.463 0.143813
## treat:d.2015.03 0.012984 0.023968 0.542 0.588197
## treat:d.2015.04 0.046040 0.024800 1.856 0.063826 .
## treat:d.2015.05 0.031229 0.024661 1.266 0.205825
## treat:d.2015.06 0.050717 0.024106 2.104 0.035753 *
## treat:d.2015.07 -0.002322 0.023880 -0.097 0.922564
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2266 on 154908 degrees of freedom
## Multiple R-squared(full model): 0.7291 Adjusted R-squared: 0.7273
## Multiple R-squared(proj model): 0.03353 Adjusted R-squared: 0.02699
## F-statistic(full model, *iid*):397.5 on 1049 and 154908 DF, p-value: < 2.2e-16
## F-statistic(proj model): 553.2 on 186 and 677 DF, p-value: < 2.2e-16
summary_text <- capture.output(summary(did.reg))
coef_df <- coeftest(did.reg)
head(coef_df)
## Estimate Std. Error t value Pr(>|t|)
## treat:d.2000.01 -0.02655736 0.02108608 -1.25947345 2.082934e-01
## treat:d.2000.02 -0.12989576 0.02255002 -5.76033867 1.274286e-08
## treat:d.2000.03 -0.05250575 0.02171879 -2.41752646 1.588953e-02
## treat:d.2000.04 -0.06118301 0.02071583 -2.95344269 3.251437e-03
## treat:d.2000.05 -0.00091998 0.01970672 -0.04668357 9.627792e-01
## treat:d.2000.06 0.07038419 0.01910526 3.68402100 2.479152e-04
# Extract and display the "Multiple R-squared (full model)" and "Adjusted R-squared" portion
cat(grep("Multiple R-squared\\(full model\\): [0-9.]+", summary_text, value = TRUE), "\n")
## Multiple R-squared(full model): 0.7291 Adjusted R-squared: 0.7273
## Export Coeffiecent and test for Heteroscedasticity SE
coef_df <- coeftest(did.reg)
coef_df <- coef_df[,] %>%
as_tibble() %>%
mutate(variables = rownames(coef_df))
coef_df$date <- as.Date(paste0(coef_df$variables, ".01"),
format = "treat:d.%Y.%m.%d")
event_df <- data.frame(date=seq.Date(as.Date("2000-01-01"),as.Date("2015-07-01"),by = "month"))
event_df <- left_join(event_df, coef_df[, c(1, 2, 6)])
## Joining with `by = join_by(date)`
event_df[is.na(event_df)] <- 0
colnames(event_df) <- c("time","coef","se")
## Makes Confident Interval
event_df$ci_upper <- event_df$coef + 1.96 * event_df$se
event_df$ci_lower <- event_df$coef - 1.96 * event_df$se
head(event_df,3)
## time coef se ci_upper ci_lower
## 1 2000-01-01 -0.02655736 0.02108608 0.014771361 -0.06788608
## 2 2000-02-01 -0.12989576 0.02255002 -0.085697717 -0.17409380
## 3 2000-03-01 -0.05250575 0.02171879 -0.009936921 -0.09507457
dates <- seq.Date(as.Date("2000-01-01"),as.Date("2015-07-01"),by='month')
# Define start and end dates for plot
start_date <- as.Date("2004-08-01")
end_date <- as.Date("2015-07-01")
# Create sequence of dates for x-axis
dates_seq <- seq.Date(from = start_date, to = end_date, by = "month")
# Subset event_df to only include dates after or equal to start_date
event_df_sub <- event_df[dates >= start_date, ]
pl2 <- ggplot(event_df, aes(x = dates, y = coef)) +
geom_point() +
geom_line()+
#geom_errorbar(aes(ymin = ci_lower, ymax = ci_upper), width = 0.2) +
geom_ribbon(aes(ymin = ci_lower, ymax = ci_upper), alpha = 0.2) +
geom_hline(yintercept = 0, linetype = "dashed", color = "red") +
geom_vline(xintercept = as.Date("2005-08-01"), linetype = "dashed", color = "blue") +
scale_x_date(date_labels = "%Y-%m", limits = c(start_date, end_date), breaks = "1 year") +
labs(title = "Panel C: Unemployment Rate", y = "Percentage Point") +
plot.theme
pl2

All plots
layout_matrix <- rbind(c(1, 1, 2, 2), c(4, 3, 3, 4))
grid.arrange(pl, pl1, pl2, layout_matrix = layout_matrix)
