data("ChickWeight", package = "datasets")
ChickWeight$Chick <- factor(ChickWeight$Chick, ordered = FALSE)
if (requireNamespace("estimatr", quietly = TRUE)) withAutoprint({
library(estimatr)
lm_fit <- lm_robust(
weight ~ Time + Diet:Time,
data = ChickWeight
)
vcovCR(lm_fit, cluster = ChickWeight$Chick, type = "CR2")
lm_fit_clust <- lm_robust(
weight ~ Time + Diet:Time, data = ChickWeight,
clusters = Chick
)
conf_int(lm_fit_clust, vcov = "CR2")
# similar model via lm_lin()
lin_fit_clust <- lm_lin(
weight ~ Diet,
covariates = ~ Time,
data = ChickWeight,
clusters = Chick
)
conf_int(lin_fit_clust, vcov = "CR2")
lm_fit_fe <- lm_robust(
weight ~ Time:Diet, data = ChickWeight,
clusters = Chick,
fixed_effects = ~ Chick
)
vcovCR(lm_fit_fe)
# two-way fixed effects model
data("MortalityRates")
MortalityRates <- subset(MortalityRates, cause == "Motor Vehicle")
MortalityRates$state <- factor(MortalityRates$state)
MortalityRates$year <- factor(MortalityRates$year)
MLDA_fit <- lm_robust(
mrate ~ legal + beertaxa + beerpercap + winepercap + spiritpercap,
fixed_effects = ~ year + state,
data = MortalityRates,
cluster = state
)
conf_int(MLDA_fit, vcov = "CR2")
if (requireNamespace("plm", quietly = TRUE)) withAutoprint({
data("Produc", package = "plm")
lm_individual <- lm_robust(
log(gsp) ~ log(pcap) + log(pc) + log(emp) + unemp,
data = Produc,
fixed_effects = ~ state,
cluster = state
)
vcovCR(lm_individual, type = "CR2")
})
})
Run the code above in your browser using DataLab