# These are the old version of the PanelEstimate tests before modifying the mahalanobis distance tests (nov 2025) # test_that("(ATT) PanelEstimate Runs", { # dem.panel <- PanelData(dem, 'wbcode2', 'year', 'dem', 'y') # # qoi_ <- "att" # pm1 <- PanelMatch(lag = 4, # refinement.method = "mahalanobis", # panel.data = dem.panel, # match.missing = FALSE, covs.formula = ~ I(lag(y, 1:4)) + I(lag(tradewb, 1:4)), # size.match = 5, qoi = qoi_, # lead = 0:3, forbid.treatment.reversal = FALSE) # # pe.results <- PanelEstimate(sets = pm1, panel.data = dem.panel, se.method = "conditional") # comp.results <- c(-0.593399771464233,-0.321260212377162,0.456311286847623,1.73182162255356) # expect_equivalent(pe.results$estimate, comp.results) # }) # # # # test_that("(ATC) PanelEstimate Runs", { # dem.panel <- PanelData(dem, 'wbcode2', 'year', 'dem', 'y') # qoi_ <- "atc" # pm1 <- PanelMatch(lag = 4, # refinement.method = "mahalanobis", # panel.data = dem.panel, # match.missing = FALSE, covs.formula = ~ I(lag(y, 1:4)) + I(lag(tradewb, 1:4)), # size.match = 5, qoi = qoi_, # lead = 0:3, forbid.treatment.reversal = FALSE) # # pe.results <- PanelEstimate(sets = pm1, panel.data = dem.panel, se.method = "conditional") # comp.results <- c(-0.7399887, -0.1418777, -0.4914594, -0.1423150) # expect_equivalent(pe.results$estimate, comp.results, tolerance = .000001) # # }) # # test_that("(ART) PanelEstimate Runs", { # dem.panel <- PanelData(dem, 'wbcode2', 'year', 'dem', 'y') # qoi_ <- "art" # pm1 <- PanelMatch(lag = 4, # refinement.method = "mahalanobis", # panel.data = dem.panel, # match.missing = FALSE, covs.formula = ~ I(lag(y, 1:4)) + I(lag(tradewb, 1:4)), # size.match = 5, qoi = qoi_, # lead = 0:3, forbid.treatment.reversal = FALSE) # # pe.results <- PanelEstimate(sets = pm1, panel.data = dem.panel, se.method = "conditional") # comp.results <- -c(5.2177188648897,8.02138564165901,8.75646876914828,8.12399471507353) # expect_equivalent(pe.results$estimate, comp.results) # # }) # # # test_that("(ATE) PanelEstimate Runs", { # dem.panel <- PanelData(dem, 'wbcode2', 'year', 'dem', 'y') # qoi_ <- "ate" # pm1 <- PanelMatch(lag = 4, # refinement.method = "mahalanobis", # panel.data = dem.panel, # match.missing = FALSE, covs.formula = ~ I(lag(y, 1:4)) + I(lag(tradewb, 1:4)), # size.match = 5, qoi = qoi_, # lead = 0:3, forbid.treatment.reversal = FALSE) # # pe.results <- PanelEstimate(sets = pm1, panel.data = dem.panel, se.method = "bootstrap") # comp.results <- c(-0.73400424, -0.14920097, -0.45276678, -0.06580353) # expect_equivalent(pe.results$estimate, comp.results, tolerance = .0000001) # # }) # # # test_that("(ATT) bootstrap SEs", { # dem.panel <- PanelData(dem, 'wbcode2', 'year', 'dem', 'y') # qoi_ <- "att" # set.seed(1) # pm1 <- PanelMatch(lag = 4, # refinement.method = "mahalanobis", # panel.data = dem.panel, # match.missing = FALSE, covs.formula = ~ I(lag(y, 1:4)) + I(lag(tradewb, 1:4)), # size.match = 5, qoi = qoi_, # lead = 0:3, forbid.treatment.reversal = FALSE) # # pe.results <- PanelEstimate(sets = pm1, panel.data = dem.panel, number.iterations = 100) # comp.results <- c(-0.593399771464233,-0.321260212377162,0.456311286847623,1.73182162255356) # expect_equivalent(pe.results$estimate, comp.results) # expect_equivalent(pe.results$standard.error, c(0.8701336, 1.3611202, 1.7512925, 2.0019833), # tolerance = .0000001) # }) # # # # test_that("(ATC) bootstrap SEs", { # qoi_ <- "atc" # dem.panel <- PanelData(dem, 'wbcode2', 'year', 'dem', 'y') # set.seed(1) # pm1 <- PanelMatch(lag = 4, # refinement.method = "mahalanobis", # panel.data = dem.panel, # match.missing = FALSE, covs.formula = ~ I(lag(y, 1:4)) + I(lag(tradewb, 1:4)), # size.match = 5, qoi = qoi_, # lead = 0:3, forbid.treatment.reversal = FALSE) # # pe.results <- PanelEstimate(sets = pm1, panel.data = dem.panel, number.iterations = 100) # comp.results <- c(-0.7399887, -0.1418777, -0.4914594, -0.1423150) # expect_equivalent(pe.results$estimate, comp.results, tolerance = .0000001) # expect_equivalent(pe.results$standard.error, c(0.7027994, 1.3144841, 1.7200521, 2.1352594 ), tolerance = .0000001) # }) # # test_that("(ART) bootstrap SEs", { # qoi_ <- "art" # dem.panel <- PanelData(dem, 'wbcode2', 'year', 'dem', 'y') # set.seed(1) # pm1 <- PanelMatch(lag = 4, # refinement.method = "mahalanobis", # panel.data = dem.panel, # match.missing = FALSE, covs.formula = ~ I(lag(y, 1:4)) + I(lag(tradewb, 1:4)), # size.match = 5, qoi = qoi_, # lead = 0:3, forbid.treatment.reversal = FALSE) # # pe.results <- PanelEstimate(sets = pm1, panel.data = dem.panel, number.iterations = 100) # comp.results <- -c(5.2177188648897,8.02138564165901,8.75646876914828,8.12399471507353) # expect_equivalent(pe.results$estimate, comp.results) # expect_equivalent(pe.results$standard.error, c(1.342158, 2.159589, 2.869549, 3.231702), tolerance = .000001) # }) # # # test_that("(ATE) bootstrap SEs", { # dem.panel <- PanelData(dem, 'wbcode2', 'year', 'dem', 'y') # set.seed(1) # qoi_ <- "ate" # pm1 <- PanelMatch(lag = 4, # refinement.method = "mahalanobis", # panel.data = dem.panel, # match.missing = FALSE, covs.formula = ~ I(lag(y, 1:4)) + I(lag(tradewb, 1:4)), # size.match = 5, qoi = qoi_, # lead = 0:3, forbid.treatment.reversal = FALSE) # # pe.results <- PanelEstimate(sets = pm1, panel.data = dem.panel, number.iterations = 100) # comp.results <- c(-0.73400424, -0.14920097, -0.45276678, -0.06580353) # expect_equivalent(pe.results$estimate, comp.results, tolerance = .000001) # expect_equivalent(pe.results$standard.error, c(0.6953794, 1.2931504, 1.6894504, 2.0902084), tolerance = .0000001) # }) # # # test_that("bootstrap SEs - Pooled ", { # dem.panel <- PanelData(dem, 'wbcode2', 'year', 'dem', 'y') # qoi_ <- "att" # set.seed(1) # pm1 <- PanelMatch(lag = 4, # refinement.method = "mahalanobis", # panel.data = dem.panel, # match.missing = FALSE, covs.formula = ~ I(lag(y, 1:4)) + I(lag(tradewb, 1:4)), # size.match = 5, qoi = qoi_, # lead = 0:3, forbid.treatment.reversal = FALSE) # # pe.results <- PanelEstimate(sets = pm1, panel.data = dem.panel, number.iterations = 100, pooled = TRUE) # # expect_equal(pe.results$estimate, 0.3183682, tolerance = .000001) # expect_equal(pe.results$standard.error, 1.404445, tolerance = .000001) # # # qoi_ <- "atc" # # pm1 <- PanelMatch(lag = 4, # refinement.method = "mahalanobis", # panel.data = dem.panel, # match.missing = FALSE, covs.formula = ~ I(lag(y, 1:4)) + I(lag(tradewb, 1:4)), # size.match = 5, qoi = qoi_, # lead = 0:3, forbid.treatment.reversal = FALSE) # set.seed(1) # pe.results <- PanelEstimate(sets = pm1, panel.data = dem.panel, number.iterations = 100, pooled = TRUE) # expect_equal(pe.results$estimate, -0.3789102, tolerance = .000001) # expect_equal(pe.results$standard.error, 1.40745, tolerance = .000001) # # # qoi_ <- "art" # # pm1 <- PanelMatch(lag = 4, # refinement.method = "mahalanobis", # panel.data = dem.panel, # match.missing = FALSE, covs.formula = ~ I(lag(y, 1:4)) + I(lag(tradewb, 1:4)), # size.match = 5, qoi = qoi_, # lead = 0:3, forbid.treatment.reversal = FALSE) # set.seed(1) # pe.results <- PanelEstimate(sets = pm1, panel.data = dem.panel, number.iterations = 100, pooled = TRUE) # expect_equal(pe.results$estimate, -7.529892, tolerance = .000001) # expect_equal(pe.results$standard.error, 2.341633, tolerance = .000001) # # # # qoi_ <- "ate" # # pm1 <- PanelMatch(lag = 4, # refinement.method = "mahalanobis", # panel.data = dem.panel, # match.missing = FALSE, covs.formula = ~ I(lag(y, 1:4)) + I(lag(tradewb, 1:4)), # size.match = 5, qoi = qoi_, # lead = 0:3, forbid.treatment.reversal = FALSE) # set.seed(1) # pe.results <- PanelEstimate(sets = pm1, panel.data = dem.panel, number.iterations = 100, pooled = TRUE) # expect_equal(pe.results$estimate, -0.3504439, tolerance = .000001) # expect_equal(pe.results$standard.error, 1.381604, tolerance = .000001) # }) # # # # test_that("(ATT) PanelEstimate Runs: analytical SEs", { # dem.panel <- PanelData(dem, 'wbcode2', 'year', 'dem', 'y') # qoi_ <- "att" # pm1 <- PanelMatch(lag = 4, # refinement.method = "mahalanobis", # panel.data = dem.panel, # match.missing = FALSE, covs.formula = ~ I(lag(y, 1:4)) + I(lag(tradewb, 1:4)), # size.match = 5, qoi = qoi_, # lead = 0:3, forbid.treatment.reversal = FALSE) # # pe.results <- PanelEstimate(sets = pm1, panel.data = dem.panel, se.method = "conditional") # comp.results <- c(-0.593399771464233,-0.321260212377162,0.456311286847623,1.73182162255356) # expect_equivalent(pe.results$estimate, comp.results) # comp.results <- c(0.7386351, 1.2103820 ,1.5592321 ,1.8248642) # names(comp.results) <- paste0("t+", 0:3) # expect_equal(pe.results$standard.error, comp.results, tolerance = .0000001) # }) # # # # test_that("(ATC) PanelEstimate Runs: analytical SEs", { # dem.panel <- PanelData(dem, 'wbcode2', 'year', 'dem', 'y') # qoi_ <- "atc" # pm1 <- PanelMatch(lag = 4, # refinement.method = "mahalanobis", # panel.data = dem.panel, # match.missing = FALSE, covs.formula = ~ I(lag(y, 1:4)) + I(lag(tradewb, 1:4)), # size.match = 5, qoi = qoi_, # lead = 0:3, forbid.treatment.reversal = FALSE) # # pe.results <- PanelEstimate(sets = pm1, panel.data = dem.panel, se.method = "conditional") # comp.results <- c(-0.7399887, -0.1418777, -0.4914594, -0.1423150) # expect_equivalent(pe.results$estimate, comp.results, tolerance = .000001) # comp.results <- c(0.5917567, 1.1136940, 1.4693785, 1.8571621) # names(comp.results) <- paste0("t+", 0:3) # expect_equal(pe.results$standard.error, comp.results, tolerance = .0000002) # # }) # # test_that("(ART) PanelEstimate Runs: analytical SEs ", { # dem.panel <- PanelData(dem, 'wbcode2', 'year', 'dem', 'y') # qoi_ <- "art" # pm1 <- PanelMatch(lag = 4, # refinement.method = "mahalanobis", # panel.data = dem.panel, # match.missing = FALSE, covs.formula = ~ I(lag(y, 1:4)) + I(lag(tradewb, 1:4)), # size.match = 5, qoi = qoi_, # lead = 0:3, forbid.treatment.reversal = FALSE) # # pe.results <- PanelEstimate(sets = pm1, panel.data = dem.panel, se.method = "conditional") # comp.results <- -c(5.2177188648897,8.02138564165901,8.75646876914828,8.12399471507353) # expect_equivalent(pe.results$estimate, comp.results) # comp.results <- c(1.026000, 1.483106 ,1.919551 ,2.150267) # names(comp.results) <- paste0("t+", 0:3) # expect_equal(pe.results$standard.error, comp.results, tolerance = .0000002) # # }) # # # test_that("(ATT) PanelEstimate Runs: unconditional analytical SEs", { # dem.panel <- PanelData(dem, 'wbcode2', 'year', 'dem', 'y') # qoi_ <- "att" # pm1 <- PanelMatch(lag = 4, # refinement.method = "mahalanobis", # panel.data = dem.panel, # match.missing = FALSE, covs.formula = ~ I(lag(y, 1:4)) + I(lag(tradewb, 1:4)), # size.match = 5, qoi = qoi_, # lead = 0:3, forbid.treatment.reversal = FALSE) # # pe.results <- PanelEstimate(sets = pm1, panel.data = dem.panel, se.method = "unconditional") # comp.results <- c(-0.593399771464233,-0.321260212377162,0.456311286847623,1.73182162255356) # expect_equivalent(pe.results$estimate, comp.results) # comp.results <- c(0.905080467048022,1.48070275292364,1.90752332999506,2.23758074403404) # names(comp.results) <- paste0("t+", 0:3) # expect_equivalent(pe.results$standard.error, comp.results, tolerance = .0000001) # }) # # # # test_that("(ATC) PanelEstimate Runs: unconditional analytical SEs", { # dem.panel <- PanelData(dem, 'wbcode2', 'year', 'dem', 'y') # qoi_ <- "atc" # pm1 <- PanelMatch(lag = 4, # refinement.method = "mahalanobis", # panel.data = dem.panel, # match.missing = FALSE, covs.formula = ~ I(lag(y, 1:4)) + I(lag(tradewb, 1:4)), # size.match = 5, qoi = qoi_, # lead = 0:3, forbid.treatment.reversal = FALSE) # # pe.results <- PanelEstimate(sets = pm1, panel.data = dem.panel, se.method = "unconditional") # comp.results <- c(-0.7399887, -0.1418777, -0.4914594, -0.1423150) # expect_equivalent(pe.results$estimate, comp.results, tolerance = .000001) # comp.results <- c(0.7086883, 1.3301189, 1.7552049, 2.2180256) # names(comp.results) <- paste0("t+", 0:3) # expect_equivalent(pe.results$standard.error, comp.results, tolerance = .0000002) # # }) # # test_that("(ART) PanelEstimate Runs: unconditional analytical SEs ", { # dem.panel <- PanelData(dem, 'wbcode2', 'year', 'dem', 'y') # qoi_ <- "art" # pm1 <- PanelMatch(lag = 4, # refinement.method = "mahalanobis", # panel.data = dem.panel, # match.missing = FALSE, covs.formula = ~ I(lag(y, 1:4)) + I(lag(tradewb, 1:4)), # size.match = 5, qoi = qoi_, # lead = 0:3, forbid.treatment.reversal = FALSE) # # pe.results <- PanelEstimate(sets = pm1, panel.data = dem.panel, se.method = "unconditional") # comp.results <- -c(5.2177188648897,8.02138564165901,8.75646876914828,8.12399471507353) # expect_equivalent(pe.results$estimate, comp.results) # comp.results <- c(1.57127705575129,2.31146328482272,2.86362720065278,3.09207201707423) # names(comp.results) <- paste0("t+", 0:3) # expect_equivalent(pe.results$standard.error, comp.results, tolerance = .0000002) # # }) # # # test_that("(ATE) PanelEstimate fails: analytical SEs ", { # dem.panel <- PanelData(dem, 'wbcode2', 'year', 'dem', 'y') # qoi_ <- "ate" # pm1 <- PanelMatch(lag = 4, # refinement.method = "mahalanobis", # panel.data = dem.panel, # match.missing = FALSE, covs.formula = ~ I(lag(y, 1:4)) + I(lag(tradewb, 1:4)), # size.match = 5, qoi = qoi_, # lead = 0:3, forbid.treatment.reversal = FALSE) # # expect_error(PanelEstimate(sets = pm1, panel.data = dem.panel, se.method = "unconditional")) # expect_error(PanelEstimate(sets = pm1, panel.data = dem.panel, se.method = "conditional")) # # })