8 Child Labor Laws as an IV
2SLS estimates of the returns to schooling using child labor laws as instruments for years of schooling (Acemoglu and Angrist 2000). This replicates Table 6.3 of Mastering ’Metrics.
library("AER")
library("sandwich")
library("clubSandwich")
library("tidyverse")
library("broom")
Load the child_labor
data.
data("child_labor", package = "masteringmetrics")
child_labor <- mutate(child_labor,
year = factor(year),
yob_fct = factor(yob),
sob = factor(sob))
8.1 First stages and reduced forms
Column 1. Years of Schooling.
mod1 <- lm(indEduc ~ year + yob_fct + sob + cl7 + cl8 + cl9,
data = child_labor, weights = weight)
# coef_test(mod1, vcov = vcovCR(mod1, cluster = child_labor[["sob"]]))
Column 2. Years of Schooling. State of birth dummies x linear year of birth trends.
mod2 <- lm(indEduc ~ year + yob_fct + sob + sob:yob + cl7 + cl8 + cl9,
data = child_labor, weights = weight)
# coef_test(mod2, vcov = vcovCR(mod2, cluster = child_labor[["sob"]]))
Column 3. Log weekly wages.
mod3 <- lm(lnwkwage ~ year + yob_fct + sob + cl7 + cl8 + cl9,
data = child_labor, weights = weight)
# coef_test(mod3, vcov = vcovCR(mod1), cluster = child_labor[["state"]])
Column 4. Log weekly wages. State of birth dummies x linear year of birth trends.
mod4 <- lm(lnwkwage ~ year + yob_fct + sob + sob:yob + cl7 + cl8 + cl9,
data = child_labor, weights = weight)
# coef_test(mod4, vcov = vcovCR(mod2), cluster = child_labor[["state"]])
8.2 IV returns
Column 3. Log weekly wages.
mod5 <- ivreg(lnwkwage ~ year + yob_fct + sob + indEduc |
. - indEduc + cl7 + cl8 + cl9,
data = child_labor, weights = weight)
# coef_test(mod5, vcov = vcovCR(mod1), cluster = child_labor[["state"]])
Column 4. Log weekly wages. State of birth dummies x linear year of birth trends.
mod6 <- ivreg(lnwkwage ~ year + yob_fct + sob + sob:yob + indEduc |
. - indEduc + cl7 + cl8 + cl9,
data = child_labor, weights = weight)
# coef_test(mod6, vcov = vcovCR(mod2), cluster = child_labor[["state"]])