Nothing
test_that("FE = TRUE,
TFE = TRUE,
cluster = TRUE works", {
estimator <- "FHS"
outcomevar <- "y_base"
str_policy_vars <- c("z_lead3", "z_fd_lead2", "z_fd", "z_fd_lag1", "z_fd_lag2", "z_lag3")
controls <- "x_r"
proxy <- "eta_m"
proxyIV <- "z_fd_lead3"
event_study_formula <- PrepareModelFormula(estimator, outcomevar,
str_policy_vars, FALSE, controls, proxy, proxyIV)
idvar <- "id"
timevar <- "t"
FE <- TRUE
TFE <- TRUE
cluster <- TRUE
if (FE & TFE & cluster) {
reg <- EventStudyFHS(
prepared_model_formula = event_study_formula,
prepared_data = df_EventStudyFHS_example,
idvar = idvar,
timevar = timevar,
FE = FE,
TFE = TFE,
cluster = cluster
)
}
expect_true(all.equal(reg$felevels$`get(idvar)`, as.character(unique(df_EventStudyFHS_example$id))))
expect_equal(reg$nclusters, length(unique(df_EventStudyFHS_example$id)))
expect_true(reg$se_type == "stata")
})
test_that("FE = FALSE,
TFE = TRUE,
cluster = TRUE works", {
estimator <- "FHS"
outcomevar <- "y_base"
str_policy_vars <- c("z_lead3", "z_fd_lead2", "z_fd", "z_fd_lag1", "z_fd_lag2", "z_lag3")
controls <- "x_r"
proxy <- "eta_m"
proxyIV <- "z_fd_lead3"
event_study_formula <- PrepareModelFormula(estimator, outcomevar,
str_policy_vars, FALSE, controls, proxy, proxyIV)
idvar <- "id"
timevar <- "t"
FE <- FALSE
TFE <- TRUE
cluster <- TRUE
if ((!FE) & TFE & cluster) {
reg <- EventStudyFHS(
prepared_model_formula = event_study_formula,
prepared_data = df_EventStudyFHS_example,
idvar = idvar,
timevar = timevar,
FE = FE,
TFE = TFE,
cluster = cluster
)
}
expect_equal(is.null(reg$felevels$`get(idvar)`), TRUE)
expect_equal(reg$nclusters, length(unique(df_EventStudyFHS_example$id)))
expect_true(reg$se_type == "stata")
})
test_that("FE = TRUE,
TFE = FALSE,
cluster = TRUE works", {
estimator <- "FHS"
outcomevar <- "y_base"
str_policy_vars <- c("z_lead3", "z_fd_lead2", "z_fd", "z_fd_lag1", "z_fd_lag2", "z_lag3")
controls <- "x_r"
proxy <- "eta_m"
proxyIV <- "z_fd_lead3"
event_study_formula <- PrepareModelFormula(estimator, outcomevar,
str_policy_vars, FALSE, controls, proxy, proxyIV)
idvar <- "id"
timevar <- "t"
FE <- TRUE
TFE <- FALSE
cluster <- TRUE
if (FE & (!TFE) & cluster) {
reg <- EventStudyFHS(
prepared_model_formula = event_study_formula,
prepared_data = df_EventStudyFHS_example,
idvar = idvar,
timevar = timevar,
FE = FE,
TFE = TFE,
cluster = cluster
)
}
expect_true(all.equal(reg$felevels$V1, as.character(unique(df_EventStudyFHS_example$id))))
expect_true(is.null(reg$felevels$`get(timevar)`), TRUE)
expect_equal(reg$nclusters, length(unique(df_EventStudyFHS_example$id)))
expect_true(reg$se_type == "stata")
})
test_that("FE = FALSE,
TFE = FALSE,
cluster = TRUE works", {
estimator <- "FHS"
outcomevar <- "y_base"
str_policy_vars <- c("z_lead3", "z_fd_lead2", "z_fd", "z_fd_lag1", "z_fd_lag2", "z_lag3")
controls <- "x_r"
proxy <- "eta_m"
proxyIV <- "z_fd_lead3"
event_study_formula <- PrepareModelFormula(estimator, outcomevar,
str_policy_vars, FALSE, controls, proxy, proxyIV)
idvar <- "id"
timevar <- "t"
FE <- FALSE
TFE <- FALSE
cluster <- TRUE
if ((!FE) & (!TFE) & cluster) {
reg <- EventStudyFHS(
prepared_model_formula = event_study_formula,
prepared_data = df_EventStudyFHS_example,
idvar = idvar,
timevar = timevar,
FE = FE,
TFE = TFE,
cluster = cluster
)
}
expect_true(is.null(reg$felevels$`get(idvar)`), TRUE)
expect_true(is.null(reg$felevels$`get(timevar)`), TRUE)
expect_equal(reg$nclusters, length(unique(df_EventStudyFHS_example$id)))
expect_true(reg$se_type == "stata")
})
test_that("FE = TRUE,
TFE = TRUE,
cluster = FALSE does not work", {
estimator <- "FHS"
outcomevar <- "y_base"
str_policy_vars <- c("z_lead3", "z_fd_lead2", "z_fd", "z_fd_lag1", "z_fd_lag2", "z_lag3")
controls <- "x_r"
proxy <- "eta_m"
proxyIV <- "z_fd_lead3"
event_study_formula <- PrepareModelFormula(estimator, outcomevar,
str_policy_vars, FALSE, controls, proxy, proxyIV)
idvar <- "id"
timevar <- "t"
FE <- TRUE
TFE <- TRUE
cluster <- FALSE
expect_error(
if (FE & TFE & (!cluster)) {
reg <- EventStudyFHS(
prepared_model_formula = event_study_formula,
prepared_data = df_EventStudyFHS_example,
idvar = idvar,
timevar = timevar,
FE = FE,
TFE = TFE,
cluster = cluster
)
},
"cluster=TRUE required when FE=TRUE."
)
})
test_that("FE = FALSE,
TFE = TRUE,
cluster = FALSE works", {
estimator <- "FHS"
outcomevar <- "y_base"
str_policy_vars <- c("z_lead3", "z_fd_lead2", "z_fd", "z_fd_lag1", "z_fd_lag2", "z_lag3")
controls <- "x_r"
proxy <- "eta_m"
proxyIV <- "z_fd_lead3"
event_study_formula <- PrepareModelFormula(estimator, outcomevar,
str_policy_vars, FALSE, controls, proxy, proxyIV)
idvar <- "id"
timevar <- "t"
FE <- FALSE
TFE <- TRUE
cluster <- FALSE
if ((!FE) & TFE & (!cluster)) {
reg <- EventStudyFHS(
prepared_model_formula = event_study_formula,
prepared_data = df_EventStudyFHS_example,
idvar = idvar,
timevar = timevar,
FE = FE,
TFE = TFE,
cluster = cluster
)
}
expect_true(is.null(reg$felevels$`get(idvar)`), TRUE)
expect_true(is.null(reg$nclusters), TRUE)
expect_true(reg$se_type %in% c("stata", "HC1"))
})
test_that("FE = TRUE,
TFE = FALSE,
cluster = FALSE does not work", {
estimator <- "FHS"
outcomevar <- "y_base"
str_policy_vars <- c("z_lead3", "z_fd_lead2", "z_fd", "z_fd_lag1", "z_fd_lag2", "z_lag3")
controls <- "x_r"
proxy <- "eta_m"
proxyIV <- "z_fd_lead3"
event_study_formula <- PrepareModelFormula(estimator, outcomevar,
str_policy_vars, FALSE, controls, proxy, proxyIV)
idvar <- "id"
timevar <- "t"
FE <- TRUE
TFE <- FALSE
cluster <- FALSE
expect_error(
if (FE & (!TFE) & (!cluster)) {
reg <- EventStudyFHS(
prepared_model_formula = event_study_formula,
prepared_data = df_EventStudyFHS_example,
idvar = idvar,
timevar = timevar,
FE = FE,
TFE = TFE,
cluster = cluster
)
},
"cluster=TRUE required when FE=TRUE."
)
})
test_that("FE = FALSE,
TFE = FALSE,
cluster = FALSE works", {
estimator <- "FHS"
outcomevar <- "y_base"
str_policy_vars <- c("z_lead3", "z_fd_lead2", "z_fd", "z_fd_lag1", "z_fd_lag2", "z_lag3")
controls <- "x_r"
proxy <- "eta_m"
proxyIV <- "z_fd_lead3"
event_study_formula <- PrepareModelFormula(estimator, outcomevar,
str_policy_vars, FALSE, controls, proxy, proxyIV)
idvar <- "id"
timevar <- "t"
FE <- FALSE
TFE <- FALSE
cluster <- FALSE
if ((!FE) & (!TFE) & (!cluster)) {
reg <- EventStudyFHS(
prepared_model_formula = event_study_formula,
prepared_data = df_EventStudyFHS_example,
idvar = idvar,
timevar = timevar,
FE = FE,
TFE = TFE,
cluster = cluster
)
}
expect_true(is.null(reg$felevels$`get(idvar)`), TRUE)
expect_true(is.null(reg$felevels$`get(timevar)`), TRUE)
expect_true(is.null(reg$nclusters), TRUE)
expect_true(reg$se_type %in% c("stata", "HC1"))
})
test_that("Coefficients and Standard Errors agree with base STATA", {
bools <- c("TTT", "TFT", "FTF", "FTT", "FFF", "FFT")
for (i in length(bools)) {
bool <- bools[i]
estimator <- "FHS"
outcomevar <- "y_base"
str_policy_vars <- c("z_lead3", "z_fd_lead2", "z_fd", "z_fd_lag1", "z_fd_lag2", "z_lag3")
controls <- "x_r"
proxy <- "eta_m"
proxyIV <- "z_fd_lead3"
event_study_formula <- PrepareModelFormula(estimator, outcomevar,
str_policy_vars, FALSE, controls, proxy, proxyIV)
idvar <- "id"
timevar <- "t"
FE <- as.logical(substring(bool, 1, 1))
TFE <- as.logical(substring(bool, 2, 2))
cluster <- as.logical(substring(bool, 3, 3))
reg <- EventStudyFHS(
prepared_model_formula = event_study_formula,
prepared_data = df_EventStudyFHS_example,
idvar = idvar,
timevar = timevar,
FE = FE,
TFE = TFE,
cluster = cluster
)
df_test_STATA <- read.csv("./input/df_test_base_STATA_FHS.csv")
epsilon <- 10e-6
expect_equal(unname(reg$coefficients["z_fd"]), df_test_STATA[df_test_STATA[1] == "z_fd",][[2*i]], tolerance = epsilon)
expect_equal(unname(reg$coefficients["z_fd_lead2"]), df_test_STATA[df_test_STATA[1] == "z_fd_lead2",][[2*i]], tolerance = epsilon)
expect_equal(unname(reg$coefficients["eta_m"]), df_test_STATA[df_test_STATA[1] == "eta_m",][[2*i]], tolerance = epsilon)
expect_equal(unname(reg$coefficients["z_fd_lag1"]), df_test_STATA[df_test_STATA[1] == "z_fd_lag1",][[2*i]], tolerance = epsilon)
expect_equal(unname(reg$coefficients["z_fd_lag2"]), df_test_STATA[df_test_STATA[1] == "z_fd_lag2",][[2*i]], tolerance = epsilon)
expect_equal(unname(reg$coefficients["z_lead3"]), df_test_STATA[df_test_STATA[1] == "z_lead3",][[2*i]]*(-1), tolerance = epsilon)
expect_equal(unname(reg$coefficients["z_lag3"]), df_test_STATA[df_test_STATA[1] == "z_lag3",][[2*i]], tolerance = epsilon)
expect_equal(unname(reg$coefficients["x_r"]), df_test_STATA[df_test_STATA[1] == "x_r",][[2*i]], tolerance = epsilon)
expect_equal(unname(reg$std.error["z_fd"]), df_test_STATA[df_test_STATA[1] == "z_fd",][[2*i+1]], tolerance = epsilon)
expect_equal(unname(reg$std.error["z_fd_lead2"]), df_test_STATA[df_test_STATA[1] == "z_fd_lead2",][[2*i+1]], tolerance = epsilon)
expect_equal(unname(reg$std.error["eta_m"]), df_test_STATA[df_test_STATA[1] == "eta_m",][[2*i+1]], tolerance = epsilon)
expect_equal(unname(reg$std.error["z_fd_lag1"]), df_test_STATA[df_test_STATA[1] == "z_fd_lag1",][[2*i+1]], tolerance = epsilon)
expect_equal(unname(reg$std.error["z_fd_lag2"]), df_test_STATA[df_test_STATA[1] == "z_fd_lag2",][[2*i+1]], tolerance = epsilon)
expect_equal(unname(reg$std.error["z_lead3"]), df_test_STATA[df_test_STATA[1] == "z_lead3",][[2*i+1]], tolerance = epsilon)
expect_equal(unname(reg$std.error["z_lag3"]), df_test_STATA[df_test_STATA[1] == "z_lag3",][[2*i+1]], tolerance = epsilon)
expect_equal(unname(reg$std.error["x_r"]), df_test_STATA[df_test_STATA[1] == "x_r",][[2*i+1]], tolerance = epsilon)
}
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.