Overview

This appendix runs two robustness/validation components as a standalone file (it loads data and applies the manual distance overrides):

  1. Donut RD robustness (true cutoff only): excludes observations within 2.5 km of the cutoff on both sides (keeps |X| >= 2.5) and re-estimates RD at the true cutoff c = 0 for all outcomes.

  2. Placebo cutoffs (fixed bandwidth): estimates RD effects at artificial cutoffs every 5 km up to ±30 km, including 0, using fixed bandwidth h = 20 km.

Both are run for: - All Italy (full merged sample, with region FE via covs= in rdrobust) - Lombardia (subset, no region FE)


Inputs (edit paths here)

# DATA (CSV)
DATA_PATH <- "/Users/murugesana/Dropbox/Research/history_behavior/Experimental_Institutions/R/data/RDD_MERGED_CSVS/All_italy_df_merged.csv"

# MANUAL DISTANCE OVERRIDES (XLSX)
MANUAL_DISTANCE_PATH <- "/Users/murugesana/Dropbox/Research/history_behavior/Experimental_Institutions/R/data/RDD_MERGED_CSVS/TreatedControl_Distance_AsCrowFlies_Manual.xlsx"

# Column names
RUNNING <- "distance_treated_positive_x"  # signed distance in km (cutoff at 0)
REGION  <- "COD_REG"                     # region id (for All-Italy FE)

# Lombardia region code (as in your main RMD)
REGION_CODE_LOMBARDIA <- 3

# Outcomes (full list used in main RMD; edit if needed)
OUTCOMES <- c(
  "gb_intensity","gb_reg_rate","evasione","services_level", "Admin_Tax_Emp",
  "edu_serv_lvl","edu_muni_school_area_per1000", "edu_emp_per1000",
  "PublS_CyclePath_per","pol_mun_road","Pillar2_pol",
  "marr_civil","marr_rel","incomepc","income",
  "expend_level","expenditure"
)

# Placebo outcomes: default = OUTCOMES, or specify a subset
PLACEBO_OUTCOMES <- OUTCOMES

# Donut and placebo settings
DONUT_KM <- 2.5
PLACEBO_STEP_KM <- 5
PLACEBO_MAX_KM  <- 30
H_FIXED_PLACEBO <- 20

placebo_cutoffs <- seq(-PLACEBO_MAX_KM, PLACEBO_MAX_KM, by = PLACEBO_STEP_KM)

Load data and apply manual distance overrides (standalone)

df0 <- readr::read_csv(DATA_PATH, show_col_types = FALSE)

# Key column for municipalities
KEYCOL <- if ("istat" %in% names(df0)) "istat" else if ("ISTAT" %in% names(df0)) "ISTAT" else NA_character_
if (is.na(KEYCOL)) stop("No istat/ISTAT column found in df0.")

stopifnot(RUNNING %in% names(df0), REGION %in% names(df0))
stopifnot("COMUNE" %in% names(df0), "Treated" %in% names(df0))

# Region FE factor + compatibility alias
df0 <- df0 %>%
  mutate(
    COD_REG = as.integer(.data[[REGION]]),
    .region_fe = factor(.data[[REGION]])
  )

if (!("ireg" %in% names(df0))) df0 <- df0 %>% mutate(ireg = as.integer(.data[[REGION]]))

# Manual distance corrections
manual0 <- readxl::read_excel(MANUAL_DISTANCE_PATH)

needed_manual <- c("COD_REG", "COMUNE", "Treated", "distance_updated")
stopifnot(all(needed_manual %in% names(manual0)))

manual <- manual0 %>%
  mutate(
    COD_REG = as.integer(COD_REG),
    Treated = as.integer(Treated),
    COMUNE_clean = stringr::str_squish(stringr::str_to_upper(as.character(COMUNE))),
    distance_updated = as.numeric(distance_updated)
  ) %>%
  filter(!is.na(distance_updated)) %>%
  select(COD_REG, Treated, COMUNE_clean, distance_updated)

df0 <- df0 %>%
  mutate(
    Treated = as.integer(Treated),
    COMUNE_clean = stringr::str_squish(stringr::str_to_upper(as.character(COMUNE))),
    .running_original = .data[[RUNNING]]
  ) %>%
  left_join(manual, by = c("COD_REG", "Treated", "COMUNE_clean")) %>%
  mutate(
    "{RUNNING}" := dplyr::if_else(!is.na(distance_updated), distance_updated, .data[[RUNNING]]),
    .running_overwritten = !is.na(distance_updated)
  )

# Exclude Tronzano Lago Maggiore, province code 12 (as in main RMD)
if ("COD_PROV" %in% names(df0)) {
  df0 <- df0 %>%
    filter(!(COMUNE_clean == "TRONZANO LAGO MAGGIORE" & as.integer(.data[["COD_PROV"]]) == 12))
}

cat("Manual overrides applied: overwritten rows = ", sum(df0$.running_overwritten, na.rm = TRUE), "\n", sep = "")
## Manual overrides applied: overwritten rows = 68
cat("All-Italy rows after override+drop: ", nrow(df0), "\n", sep = "")
## All-Italy rows after override+drop: 6984
# Subsamples
df_all <- df0
df_lom <- df0 %>% filter(as.integer(.data[[REGION]]) == REGION_CODE_LOMBARDIA)

cat("All-Italy N:", nrow(df_all), "\n")
## All-Italy N: 6984
cat("Lombardia N:", nrow(df_lom), "\n")
## Lombardia N: 2812
# Basic checks for requested outcomes (skip missing)
OUTCOMES_PRESENT <- OUTCOMES[OUTCOMES %in% names(df_all)]
if (length(OUTCOMES_PRESENT) == 0) stop("None of OUTCOMES are present in df0. Check column names.")
MISSING_OUTCOMES <- setdiff(OUTCOMES, OUTCOMES_PRESENT)
if (length(MISSING_OUTCOMES) > 0) {
  cat("Note: missing outcomes will be skipped:\n")
  print(MISSING_OUTCOMES)
}

PLACEBO_OUTCOMES_PRESENT <- PLACEBO_OUTCOMES[PLACEBO_OUTCOMES %in% names(df_all)]
if (length(PLACEBO_OUTCOMES_PRESENT) == 0) stop("None of PLACEBO_OUTCOMES are present in df0. Check column names.")

Helper functions

# Region FE matrix for rdrobust(covs=...) (All-Italy)
make_region_covs <- function(data, region_var) {
  data <- data %>% mutate(.region_fe = factor(.data[[region_var]]))
  model.matrix(~ .region_fe - 1, data = data)
}

# rdrobust at true cutoff with data-driven bandwidth (for donut main results)
run_rd_true_cutoff <- function(data, y, x, covs_mat = NULL, c0 = 0, p = 1, kernel = "tri", bwselect = "mserd") {
  yv <- data[[y]]
  xv <- data[[x]]
  ok <- is.finite(yv) & is.finite(xv)
  yv <- yv[ok]; xv <- xv[ok]
  covs_use <- if (!is.null(covs_mat)) covs_mat[ok, , drop = FALSE] else NULL

  bw <- tryCatch(
    rdbwselect(yv, xv, c = c0, p = p, kernel = kernel, bwselect = bwselect, covs = covs_use),
    error = function(e) NULL
  )

  h <- NA_real_
  if (!is.null(bw) && !is.null(bw$bws) && nrow(bw$bws) >= 1) {
    bws <- bw$bws
    cn <- colnames(bws)
    if (!is.null(cn) && "h_mserd" %in% cn) {
      h <- as.numeric(bws[1, "h_mserd"])
    } else if (!is.null(cn) && any(grepl("^h_", cn))) {
      h <- as.numeric(bws[1, cn[which(grepl("^h_", cn))[1]]])
    } else if (!is.null(cn) && "h" %in% cn) {
      h <- as.numeric(bws[1, "h"])
    } else {
      h <- as.numeric(bws[1, 1])
    }
  }

  if (!is.finite(h) || h <= 0) {
    return(tibble(outcome = y, cutoff = c0, n = length(yv), h = NA_real_,
                  tau_bc = NA_real_, se_rb = NA_real_, p_rb = NA_real_))
  }

  fit <- tryCatch(
    rdrobust(yv, xv, c = c0, p = p, h = h, kernel = kernel, covs = covs_use),
    error = function(e) NULL
  )

  if (is.null(fit)) {
    return(tibble(outcome = y, cutoff = c0, n = length(yv), h = h,
                  tau_bc = NA_real_, se_rb = NA_real_, p_rb = NA_real_))
  }

  tibble(
    outcome = y,
    cutoff  = c0,
    n       = length(yv),
    h       = as.numeric(h),
    tau_bc  = as.numeric(fit$coef[2]),
    se_rb   = as.numeric(fit$se[2]),
    p_rb    = as.numeric(fit$pv[2])
  )
}

# Fixed-h placebo rdrobust
run_rd_fixed_h <- function(data, y, x, covs_mat = NULL, c0, h_fixed, p = 1, kernel = "tri", min_each_side = 30) {
  yv <- data[[y]]
  xv <- data[[x]]
  ok <- is.finite(yv) & is.finite(xv)
  yv <- yv[ok]; xv <- xv[ok]
  covs_use <- if (!is.null(covs_mat)) covs_mat[ok, , drop = FALSE] else NULL

  # support check
  nL <- sum(xv < c0)
  nR <- sum(xv >= c0)
  if (nL < min_each_side || nR < min_each_side) {
    return(tibble(outcome = y, cutoff = c0, n = length(yv), h = h_fixed,
                  tau_bc = NA_real_, se_rb = NA_real_, p_rb = NA_real_))
  }

  fit <- tryCatch(
    rdrobust(yv, xv, c = c0, p = p, h = h_fixed, kernel = kernel, covs = covs_use),
    error = function(e) NULL
  )

  if (is.null(fit)) {
    return(tibble(outcome = y, cutoff = c0, n = length(yv), h = h_fixed,
                  tau_bc = NA_real_, se_rb = NA_real_, p_rb = NA_real_))
  }

  tibble(
    outcome = y,
    cutoff  = c0,
    n       = length(yv),
    h       = h_fixed,
    tau_bc  = as.numeric(fit$coef[2]),
    se_rb   = as.numeric(fit$se[2]),
    p_rb    = as.numeric(fit$pv[2])
  )
}

Appendix B1. Donut RD robustness (exclude |X| < 2.5 km), true cutoff only

cat("\n\n## Appendix B1. Donut RD robustness: exclude |X| < ", DONUT_KM, " km (true cutoff only)\n\n", sep = "")
## 
## 
## ## Appendix B1. Donut RD robustness: exclude |X| < 2.5 km (true cutoff only)
# Apply donut
df_all_donut <- df_all %>% filter(abs(.data[[RUNNING]]) >= DONUT_KM)
df_lom_donut <- df_lom %>% filter(abs(.data[[RUNNING]]) >= DONUT_KM)

# Region FE covariates (All-Italy only)
covs_all <- make_region_covs(df_all_donut, REGION)

# Run donut RD for all outcomes present
donut_all_tbl <- purrr::map_dfr(OUTCOMES_PRESENT, ~run_rd_true_cutoff(df_all_donut, y = .x, x = RUNNING, covs_mat = covs_all))
donut_lom_tbl <- purrr::map_dfr(OUTCOMES_PRESENT, ~run_rd_true_cutoff(df_lom_donut, y = .x, x = RUNNING, covs_mat = NULL))

donut_out <- bind_rows(
  donut_all_tbl %>% mutate(sample = "All Italy (donut)"),
  donut_lom_tbl %>% mutate(sample = "Lombardia (donut)")
) %>% select(sample, outcome, n, h, tau_bc, se_rb, p_rb) %>% arrange(sample, outcome)

knitr::kable(donut_out, digits = 4)
sample outcome n h tau_bc se_rb p_rb
All Italy (donut) Admin_Tax_Emp 1834 19.2469 2.284000e-01 4.870000e-02 0.0000
All Italy (donut) Pillar2_pol 6884 17.0231 1.423200e+00 1.181600e+00 0.2284
All Italy (donut) PublS_CyclePath_per 6242 23.6367 2.614400e+00 9.134000e-01 0.0042
All Italy (donut) edu_emp_per1000 3388 15.2618 -4.220000e-02 3.460000e-02 0.2226
All Italy (donut) edu_muni_school_area_per1000 6306 12.9016 4.536000e-01 1.144900e+00 0.6920
All Italy (donut) edu_serv_lvl 5960 15.1741 1.620500e+00 3.522000e-01 0.0000
All Italy (donut) evasione 6884 18.0398 7.607000e-01 7.633000e-01 0.3190
All Italy (donut) expend_level 6314 13.3674 -1.135900e+00 3.287000e-01 0.0005
All Italy (donut) expenditure 6884 11.8584 -1.562480e+04 1.891505e+05 0.9342
All Italy (donut) gb_intensity 6924 24.5373 -1.600000e-03 1.700000e-03 0.3670
All Italy (donut) gb_reg_rate 6924 22.1061 6.070000e-02 1.780000e-02 0.0006
All Italy (donut) income 6314 12.3435 3.032269e+06 1.927260e+07 0.8750
All Italy (donut) incomepc 6314 12.2161 2.595840e+03 3.444754e+02 0.0000
All Italy (donut) marr_civil 6314 13.8208 1.074500e+01 2.380900e+00 0.0000
All Italy (donut) marr_rel 6314 15.9338 4.210000e-01 1.084300e+00 0.6978
All Italy (donut) pol_mun_road 6314 18.0514 1.015030e+01 5.933200e+00 0.0871
All Italy (donut) services_level 6314 17.6414 2.178100e+00 2.908000e-01 0.0000
Lombardia (donut) Admin_Tax_Emp 774 4.3103 2.075000e-01 3.157000e-01 0.5111
Lombardia (donut) Pillar2_pol 2746 6.1926 -3.097560e+01 4.313900e+00 0.0000
Lombardia (donut) PublS_CyclePath_per 2722 8.6155 2.058470e+01 3.537200e+00 0.0000
Lombardia (donut) edu_emp_per1000 1358 8.5868 -6.020000e-02 8.850000e-02 0.4959
Lombardia (donut) edu_muni_school_area_per1000 2746 4.6439 -1.265371e+02 8.392400e+00 0.0000
Lombardia (donut) edu_serv_lvl 2668 8.0400 1.087070e+01 7.614000e-01 0.0000
Lombardia (donut) evasione 2746 4.0600 -2.042430e+01 9.134700e+00 0.0254
Lombardia (donut) expend_level 2746 6.8256 -3.968700e+00 7.070000e-01 0.0000
Lombardia (donut) expenditure 2746 6.2971 8.256643e+06 3.083722e+05 0.0000
Lombardia (donut) gb_intensity 2766 4.2772 3.920000e-01 2.040000e-02 0.0000
Lombardia (donut) gb_reg_rate 2766 8.4473 -9.210000e-02 3.920000e-02 0.0188
Lombardia (donut) income 2746 6.8518 6.370997e+08 4.026062e+07 0.0000
Lombardia (donut) incomepc 2746 2.6830 NA NA NA
Lombardia (donut) marr_civil 2746 3.6197 -8.471245e+02 3.015490e+01 0.0000
Lombardia (donut) marr_rel 2746 7.4659 1.735660e+01 3.049000e+00 0.0000
Lombardia (donut) pol_mun_road 2746 6.5424 3.238546e+02 1.682560e+01 0.0000
Lombardia (donut) services_level 2746 2.6893 -8.047058e+02 3.941880e+01 0.0000

Appendix B2. Placebo cutoffs (every 5 km to ±30 km), fixed h = 20

cat("\n\n## Appendix B2. Placebo cutoffs: every ", PLACEBO_STEP_KM, " km to ±", PLACEBO_MAX_KM,
    " (including 0), fixed h = ", H_FIXED_PLACEBO, " km\n\n", sep = "")
## 
## 
## ## Appendix B2. Placebo cutoffs: every 5 km to ±30 (including 0), fixed h = 20 km
# Covariates for All-Italy placebo (region FE)
covs_all_placebo <- make_region_covs(df_all, REGION)

# Estimate placebo curves (All-Italy + Lombardia)
placebo_all <- purrr::map_dfr(PLACEBO_OUTCOMES_PRESENT, function(y) {
  purrr::map_dfr(placebo_cutoffs, function(c0) {
    run_rd_fixed_h(df_all, y = y, x = RUNNING, covs_mat = covs_all_placebo,
                   c0 = c0, h_fixed = H_FIXED_PLACEBO)
  })
}) %>% mutate(sample = "All Italy")

placebo_lom <- purrr::map_dfr(PLACEBO_OUTCOMES_PRESENT, function(y) {
  purrr::map_dfr(placebo_cutoffs, function(c0) {
    run_rd_fixed_h(df_lom, y = y, x = RUNNING, covs_mat = NULL,
                   c0 = c0, h_fixed = H_FIXED_PLACEBO)
  })
}) %>% mutate(sample = "Lombardia")

placebo_df <- bind_rows(placebo_all, placebo_lom) %>%
  mutate(
    ci_low  = tau_bc - 1.96 * se_rb,
    ci_high = tau_bc + 1.96 * se_rb
  )

# Table (all estimates)
knitr::kable(
  placebo_df %>% select(sample, outcome, cutoff, h, tau_bc, se_rb, p_rb) %>% arrange(sample, outcome, cutoff),
  digits = 4
)
sample outcome cutoff h tau_bc se_rb p_rb
All Italy Admin_Tax_Emp -30 20 -1.517000e-01 1.230000e-01 0.2173
All Italy Admin_Tax_Emp -25 20 1.740000e-02 6.170000e-02 0.7781
All Italy Admin_Tax_Emp -20 20 -1.222000e-01 6.490000e-02 0.0598
All Italy Admin_Tax_Emp -15 20 -2.750000e-01 7.510000e-02 0.0003
All Italy Admin_Tax_Emp -10 20 3.230000e-02 3.070000e-02 0.2928
All Italy Admin_Tax_Emp -5 20 6.310000e-02 2.810000e-02 0.0248
All Italy Admin_Tax_Emp 0 20 1.159000e-01 4.690000e-02 0.0133
All Italy Admin_Tax_Emp 5 20 -1.354000e-01 5.120000e-02 0.0082
All Italy Admin_Tax_Emp 10 20 -6.670000e-02 4.530000e-02 0.1404
All Italy Admin_Tax_Emp 15 20 -1.735000e-01 5.300000e-02 0.0011
All Italy Admin_Tax_Emp 20 20 5.594000e-01 2.234000e-01 0.0123
All Italy Admin_Tax_Emp 25 20 -5.415000e-01 1.991000e-01 0.0065
All Italy Admin_Tax_Emp 30 20 2.812000e-01 6.070000e-02 0.0000
All Italy Pillar2_pol -30 20 4.672000e-01 1.143800e+00 0.6830
All Italy Pillar2_pol -25 20 2.197100e+00 1.171900e+00 0.0608
All Italy Pillar2_pol -20 20 -2.627900e+00 1.051400e+00 0.0124
All Italy Pillar2_pol -15 20 -2.394800e+00 9.130000e-01 0.0087
All Italy Pillar2_pol -10 20 1.202100e+00 8.447000e-01 0.1547
All Italy Pillar2_pol -5 20 -3.424000e-01 8.358000e-01 0.6821
All Italy Pillar2_pol 0 20 7.250000e-01 9.439000e-01 0.4425
All Italy Pillar2_pol 5 20 5.199000e-01 8.471000e-01 0.5394
All Italy Pillar2_pol 10 20 -1.012200e+00 8.678000e-01 0.2435
All Italy Pillar2_pol 15 20 3.083600e+00 1.002400e+00 0.0021
All Italy Pillar2_pol 20 20 -4.249200e+00 1.009600e+00 0.0000
All Italy Pillar2_pol 25 20 3.860400e+00 1.034100e+00 0.0002
All Italy Pillar2_pol 30 20 2.626000e-01 1.166700e+00 0.8219
All Italy PublS_CyclePath_per -30 20 -3.614700e+00 1.062700e+00 0.0007
All Italy PublS_CyclePath_per -25 20 3.272000e-01 7.564000e-01 0.6653
All Italy PublS_CyclePath_per -20 20 -3.779700e+00 9.634000e-01 0.0001
All Italy PublS_CyclePath_per -15 20 6.080400e+00 1.441200e+00 0.0000
All Italy PublS_CyclePath_per -10 20 -4.352200e+00 1.452000e+00 0.0027
All Italy PublS_CyclePath_per -5 20 1.725900e+00 8.300000e-01 0.0376
All Italy PublS_CyclePath_per 0 20 4.189900e+00 1.118400e+00 0.0002
All Italy PublS_CyclePath_per 5 20 -4.048000e-01 1.068100e+00 0.7047
All Italy PublS_CyclePath_per 10 20 2.999800e+00 8.571000e-01 0.0005
All Italy PublS_CyclePath_per 15 20 -2.959300e+00 1.156800e+00 0.0105
All Italy PublS_CyclePath_per 20 20 1.072400e+00 1.227500e+00 0.3823
All Italy PublS_CyclePath_per 25 20 -2.414300e+00 9.946000e-01 0.0152
All Italy PublS_CyclePath_per 30 20 4.383000e-01 1.130600e+00 0.6983
All Italy edu_emp_per1000 -30 20 -2.206000e-01 4.690000e-02 0.0000
All Italy edu_emp_per1000 -25 20 8.900000e-02 3.010000e-02 0.0031
All Italy edu_emp_per1000 -20 20 -1.069000e-01 4.240000e-02 0.0118
All Italy edu_emp_per1000 -15 20 2.870000e-02 2.400000e-02 0.2319
All Italy edu_emp_per1000 -10 20 1.330000e-02 2.680000e-02 0.6188
All Italy edu_emp_per1000 -5 20 -1.011000e-01 3.340000e-02 0.0024
All Italy edu_emp_per1000 0 20 -7.220000e-02 2.650000e-02 0.0065
All Italy edu_emp_per1000 5 20 8.160000e-02 2.550000e-02 0.0014
All Italy edu_emp_per1000 10 20 -3.970000e-02 3.270000e-02 0.2245
All Italy edu_emp_per1000 15 20 -6.420000e-02 3.650000e-02 0.0790
All Italy edu_emp_per1000 20 20 1.040000e-01 4.890000e-02 0.0335
All Italy edu_emp_per1000 25 20 9.260000e-02 4.360000e-02 0.0336
All Italy edu_emp_per1000 30 20 1.720000e-02 2.260000e-02 0.4460
All Italy edu_muni_school_area_per1000 -30 20 -4.393000e-01 1.110000e+00 0.6923
All Italy edu_muni_school_area_per1000 -25 20 -2.713000e-01 9.828000e-01 0.7825
All Italy edu_muni_school_area_per1000 -20 20 -1.881900e+00 1.102400e+00 0.0878
All Italy edu_muni_school_area_per1000 -15 20 -6.553900e+00 8.517000e-01 0.0000
All Italy edu_muni_school_area_per1000 -10 20 3.309200e+00 7.214000e-01 0.0000
All Italy edu_muni_school_area_per1000 -5 20 1.197300e+00 6.413000e-01 0.0619
All Italy edu_muni_school_area_per1000 0 20 -2.374000e-01 7.008000e-01 0.7348
All Italy edu_muni_school_area_per1000 5 20 -1.881200e+00 6.237000e-01 0.0026
All Italy edu_muni_school_area_per1000 10 20 5.192000e-01 6.202000e-01 0.4025
All Italy edu_muni_school_area_per1000 15 20 -4.378000e-01 6.569000e-01 0.5051
All Italy edu_muni_school_area_per1000 20 20 -3.270500e+00 6.396000e-01 0.0000
All Italy edu_muni_school_area_per1000 25 20 2.142800e+00 6.300000e-01 0.0007
All Italy edu_muni_school_area_per1000 30 20 -3.130000e-02 6.556000e-01 0.9619
All Italy edu_serv_lvl -30 20 -6.968000e-01 3.121000e-01 0.0256
All Italy edu_serv_lvl -25 20 -2.559000e-01 2.934000e-01 0.3831
All Italy edu_serv_lvl -20 20 -2.529000e-01 3.009000e-01 0.4006
All Italy edu_serv_lvl -15 20 2.400000e-01 3.063000e-01 0.4333
All Italy edu_serv_lvl -10 20 -5.379000e-01 2.859000e-01 0.0599
All Italy edu_serv_lvl -5 20 -1.754000e-01 2.360000e-01 0.4573
All Italy edu_serv_lvl 0 20 3.200000e-03 2.598000e-01 0.9901
All Italy edu_serv_lvl 5 20 -1.296000e-01 2.431000e-01 0.5940
All Italy edu_serv_lvl 10 20 1.306800e+00 2.548000e-01 0.0000
All Italy edu_serv_lvl 15 20 -5.649000e-01 2.671000e-01 0.0344
All Italy edu_serv_lvl 20 20 -5.752000e-01 2.916000e-01 0.0486
All Italy edu_serv_lvl 25 20 2.770000e-02 2.700000e-01 0.9183
All Italy edu_serv_lvl 30 20 1.391000e-01 2.799000e-01 0.6193
All Italy evasione -30 20 -1.292500e+00 1.169400e+00 0.2691
All Italy evasione -25 20 -1.372300e+00 1.167500e+00 0.2398
All Italy evasione -20 20 3.895000e-01 8.178000e-01 0.6339
All Italy evasione -15 20 2.789800e+00 6.938000e-01 0.0001
All Italy evasione -10 20 1.135700e+00 6.593000e-01 0.0850
All Italy evasione -5 20 -1.291800e+00 6.066000e-01 0.0332
All Italy evasione 0 20 1.622600e+00 6.470000e-01 0.0121
All Italy evasione 5 20 1.305200e+00 5.173000e-01 0.0116
All Italy evasione 10 20 1.918000e-01 5.400000e-01 0.7225
All Italy evasione 15 20 -9.402000e-01 5.832000e-01 0.1069
All Italy evasione 20 20 2.160400e+00 6.217000e-01 0.0005
All Italy evasione 25 20 -4.093400e+00 6.534000e-01 0.0000
All Italy evasione 30 20 -2.194700e+00 6.782000e-01 0.0012
All Italy expend_level -30 20 -1.029000e-01 2.332000e-01 0.6590
All Italy expend_level -25 20 2.550000e-01 2.474000e-01 0.3028
All Italy expend_level -20 20 4.310000e-01 2.306000e-01 0.0616
All Italy expend_level -15 20 -3.821000e-01 2.644000e-01 0.1484
All Italy expend_level -10 20 -1.510000e-02 2.049000e-01 0.9414
All Italy expend_level -5 20 -4.445000e-01 1.834000e-01 0.0154
All Italy expend_level 0 20 2.997000e-01 2.213000e-01 0.1755
All Italy expend_level 5 20 -2.534000e-01 1.951000e-01 0.1939
All Italy expend_level 10 20 1.856000e-01 1.845000e-01 0.3144
All Italy expend_level 15 20 8.284000e-01 2.584000e-01 0.0013
All Italy expend_level 20 20 -2.980000e-01 2.661000e-01 0.2628
All Italy expend_level 25 20 -6.692000e-01 2.268000e-01 0.0032
All Italy expend_level 30 20 1.590800e+00 2.166000e-01 0.0000
All Italy expenditure -30 20 -4.162361e+06 9.396560e+05 0.0000
All Italy expenditure -25 20 1.259533e+06 5.986534e+05 0.0354
All Italy expenditure -20 20 -1.610980e+06 5.503082e+05 0.0034
All Italy expenditure -15 20 5.799137e+05 3.484738e+05 0.0961
All Italy expenditure -10 20 5.120104e+04 3.468863e+05 0.8827
All Italy expenditure -5 20 2.767692e+05 1.306469e+05 0.0341
All Italy expenditure 0 20 2.941776e+04 1.180148e+05 0.8032
All Italy expenditure 5 20 3.778049e+05 3.500750e+05 0.2805
All Italy expenditure 10 20 -7.740052e+05 2.832817e+05 0.0063
All Italy expenditure 15 20 -1.692104e+05 1.195078e+06 0.8874
All Italy expenditure 20 20 8.993825e+06 3.094108e+06 0.0037
All Italy expenditure 25 20 -9.795470e+05 1.544069e+06 0.5258
All Italy expenditure 30 20 8.710756e+05 2.689142e+05 0.0012
All Italy gb_intensity -30 20 -3.000000e-03 1.400000e-03 0.0320
All Italy gb_intensity -25 20 -2.000000e-04 1.500000e-03 0.8903
All Italy gb_intensity -20 20 1.400000e-03 2.000000e-03 0.4753
All Italy gb_intensity -15 20 2.400000e-03 2.200000e-03 0.2716
All Italy gb_intensity -10 20 -7.000000e-03 1.800000e-03 0.0001
All Italy gb_intensity -5 20 -4.000000e-04 1.500000e-03 0.7874
All Italy gb_intensity 0 20 6.900000e-03 1.800000e-03 0.0002
All Italy gb_intensity 5 20 -1.700000e-03 1.600000e-03 0.2975
All Italy gb_intensity 10 20 2.600000e-03 2.300000e-03 0.2714
All Italy gb_intensity 15 20 1.100000e-03 2.600000e-03 0.6678
All Italy gb_intensity 20 20 -9.300000e-03 2.300000e-03 0.0000
All Italy gb_intensity 25 20 5.400000e-03 1.400000e-03 0.0001
All Italy gb_intensity 30 20 3.800000e-03 1.800000e-03 0.0289
All Italy gb_reg_rate -30 20 3.100000e-03 2.400000e-02 0.8969
All Italy gb_reg_rate -25 20 -6.310000e-02 2.430000e-02 0.0094
All Italy gb_reg_rate -20 20 3.320000e-02 2.110000e-02 0.1155
All Italy gb_reg_rate -15 20 -1.250000e-02 1.580000e-02 0.4288
All Italy gb_reg_rate -10 20 5.000000e-03 1.420000e-02 0.7228
All Italy gb_reg_rate -5 20 -2.050000e-02 1.430000e-02 0.1502
All Italy gb_reg_rate 0 20 6.900000e-03 1.630000e-02 0.6745
All Italy gb_reg_rate 5 20 6.580000e-02 1.730000e-02 0.0001
All Italy gb_reg_rate 10 20 -5.720000e-02 1.560000e-02 0.0002
All Italy gb_reg_rate 15 20 7.700000e-02 1.620000e-02 0.0000
All Italy gb_reg_rate 20 20 -1.970000e-02 1.910000e-02 0.3012
All Italy gb_reg_rate 25 20 2.760000e-02 2.220000e-02 0.2130
All Italy gb_reg_rate 30 20 2.230000e-02 2.470000e-02 0.3668
All Italy income -30 20 -2.518614e+08 5.728090e+07 0.0000
All Italy income -25 20 9.687963e+07 4.421724e+07 0.0285
All Italy income -20 20 -1.425480e+08 4.249877e+07 0.0008
All Italy income -15 20 4.639771e+07 2.912600e+07 0.1112
All Italy income -10 20 1.385440e+07 3.134438e+07 0.6585
All Italy income -5 20 2.756179e+07 1.256916e+07 0.0283
All Italy income 0 20 3.969094e+07 1.199236e+07 0.0009
All Italy income 5 20 4.177546e+07 3.834041e+07 0.2759
All Italy income 10 20 -9.636705e+07 2.576937e+07 0.0002
All Italy income 15 20 -1.914474e+07 1.319059e+08 0.8846
All Italy income 20 20 9.885287e+08 3.426272e+08 0.0039
All Italy income 25 20 -1.084866e+08 1.709083e+08 0.5256
All Italy income 30 20 1.000334e+08 2.400735e+07 0.0000
All Italy incomepc -30 20 1.656790e+01 2.605666e+02 0.9493
All Italy incomepc -25 20 -8.044920e+01 2.522588e+02 0.7498
All Italy incomepc -20 20 -2.482015e+02 2.686594e+02 0.3556
All Italy incomepc -15 20 -5.743590e+02 2.616252e+02 0.0281
All Italy incomepc -10 20 -1.037550e+03 2.696971e+02 0.0001
All Italy incomepc -5 20 -5.954740e+01 2.086200e+02 0.7753
All Italy incomepc 0 20 1.182645e+03 2.491350e+02 0.0000
All Italy incomepc 5 20 -6.972543e+02 2.420712e+02 0.0040
All Italy incomepc 10 20 1.028215e+03 3.421426e+02 0.0027
All Italy incomepc 15 20 -1.012063e+03 3.805682e+02 0.0078
All Italy incomepc 20 20 -8.989679e+02 3.937247e+02 0.0224
All Italy incomepc 25 20 9.892420e+01 3.921497e+02 0.8008
All Italy incomepc 30 20 2.304520e+03 3.758906e+02 0.0000
All Italy marr_civil -30 20 -2.565540e+01 5.443900e+00 0.0000
All Italy marr_civil -25 20 1.034360e+01 4.495400e+00 0.0214
All Italy marr_civil -20 20 -1.547970e+01 4.589200e+00 0.0007
All Italy marr_civil -15 20 2.625700e+00 2.714700e+00 0.3334
All Italy marr_civil -10 20 3.717300e+00 2.797100e+00 0.1839
All Italy marr_civil -5 20 2.236300e+00 1.405800e+00 0.1117
All Italy marr_civil 0 20 7.698000e+00 1.473600e+00 0.0000
All Italy marr_civil 5 20 1.848100e+00 2.848800e+00 0.5165
All Italy marr_civil 10 20 -4.175300e+00 2.468400e+00 0.0907
All Italy marr_civil 15 20 4.902000e-01 9.199300e+00 0.9575
All Italy marr_civil 20 20 6.582140e+01 2.349530e+01 0.0051
All Italy marr_civil 25 20 -4.013500e+00 1.174990e+01 0.7327
All Italy marr_civil 30 20 1.955600e+00 2.390900e+00 0.4134
All Italy marr_rel -30 20 -8.920900e+00 1.655900e+00 0.0000
All Italy marr_rel -25 20 3.244600e+00 1.593400e+00 0.0417
All Italy marr_rel -20 20 -5.320000e+00 1.636400e+00 0.0012
All Italy marr_rel -15 20 1.022400e+00 1.030400e+00 0.3211
All Italy marr_rel -10 20 1.375200e+00 1.113700e+00 0.2169
All Italy marr_rel -5 20 1.104100e+00 7.582000e-01 0.1453
All Italy marr_rel 0 20 -1.073600e+00 7.915000e-01 0.1750
All Italy marr_rel 5 20 1.025200e+00 1.073900e+00 0.3397
All Italy marr_rel 10 20 -1.276900e+00 1.157000e+00 0.2697
All Italy marr_rel 15 20 -6.869000e-01 2.973800e+00 0.8173
All Italy marr_rel 20 20 1.866670e+01 7.231400e+00 0.0098
All Italy marr_rel 25 20 -4.734000e-01 3.654500e+00 0.8969
All Italy marr_rel 30 20 1.128100e+00 1.084600e+00 0.2983
All Italy pol_mun_road -30 20 -1.475900e+01 1.202450e+01 0.2197
All Italy pol_mun_road -25 20 1.731200e+01 1.384010e+01 0.2110
All Italy pol_mun_road -20 20 -5.024390e+01 1.432410e+01 0.0005
All Italy pol_mun_road -15 20 -4.463100e+00 9.081200e+00 0.6231
All Italy pol_mun_road -10 20 7.868600e+00 1.024790e+01 0.4426
All Italy pol_mun_road -5 20 9.338600e+00 5.841800e+00 0.1099
All Italy pol_mun_road 0 20 2.612920e+01 4.702800e+00 0.0000
All Italy pol_mun_road 5 20 3.893400e+00 5.329900e+00 0.4651
All Italy pol_mun_road 10 20 -1.969890e+01 7.149600e+00 0.0059
All Italy pol_mun_road 15 20 -1.943900e+00 1.137780e+01 0.8643
All Italy pol_mun_road 20 20 5.798540e+01 2.543440e+01 0.0226
All Italy pol_mun_road 25 20 2.889500e+00 1.305520e+01 0.8248
All Italy pol_mun_road 30 20 3.087000e-01 5.413400e+00 0.9545
All Italy services_level -30 20 -7.912000e-01 3.217000e-01 0.0139
All Italy services_level -25 20 7.537000e-01 2.836000e-01 0.0079
All Italy services_level -20 20 1.444000e-01 2.943000e-01 0.6236
All Italy services_level -15 20 -9.784000e-01 2.827000e-01 0.0005
All Italy services_level -10 20 -7.461000e-01 2.228000e-01 0.0008
All Italy services_level -5 20 -1.896000e-01 2.185000e-01 0.3854
All Italy services_level 0 20 4.167000e-01 2.372000e-01 0.0789
All Italy services_level 5 20 -8.365000e-01 2.130000e-01 0.0001
All Italy services_level 10 20 1.092000e-01 1.924000e-01 0.5703
All Italy services_level 15 20 6.742000e-01 2.006000e-01 0.0008
All Italy services_level 20 20 3.724000e-01 2.459000e-01 0.1299
All Italy services_level 25 20 -9.846000e-01 2.537000e-01 0.0001
All Italy services_level 30 20 1.703000e-01 2.641000e-01 0.5190
Lombardia Admin_Tax_Emp -30 20 NA NA NA
Lombardia Admin_Tax_Emp -25 20 NA NA NA
Lombardia Admin_Tax_Emp -20 20 NA NA NA
Lombardia Admin_Tax_Emp -15 20 -1.402000e-01 8.490000e-02 0.0985
Lombardia Admin_Tax_Emp -10 20 -7.450000e-02 4.530000e-02 0.1002
Lombardia Admin_Tax_Emp -5 20 5.130000e-02 3.950000e-02 0.1932
Lombardia Admin_Tax_Emp 0 20 1.147000e-01 4.670000e-02 0.0140
Lombardia Admin_Tax_Emp 5 20 -1.448000e-01 5.240000e-02 0.0057
Lombardia Admin_Tax_Emp 10 20 -6.300000e-02 4.720000e-02 0.1817
Lombardia Admin_Tax_Emp 15 20 -1.788000e-01 5.410000e-02 0.0010
Lombardia Admin_Tax_Emp 20 20 5.593000e-01 2.234000e-01 0.0123
Lombardia Admin_Tax_Emp 25 20 -5.410000e-01 2.012000e-01 0.0072
Lombardia Admin_Tax_Emp 30 20 2.837000e-01 6.060000e-02 0.0000
Lombardia Pillar2_pol -30 20 NA NA NA
Lombardia Pillar2_pol -25 20 NA NA NA
Lombardia Pillar2_pol -20 20 -5.762800e+00 2.757900e+00 0.0367
Lombardia Pillar2_pol -15 20 -5.067900e+00 1.575200e+00 0.0013
Lombardia Pillar2_pol -10 20 -8.557000e-01 1.542500e+00 0.5791
Lombardia Pillar2_pol -5 20 -1.210800e+00 1.358000e+00 0.3726
Lombardia Pillar2_pol 0 20 2.400000e-02 1.262600e+00 0.9848
Lombardia Pillar2_pol 5 20 3.500000e-01 8.837000e-01 0.6920
Lombardia Pillar2_pol 10 20 -1.100600e+00 9.212000e-01 0.2322
Lombardia Pillar2_pol 15 20 3.053600e+00 1.029500e+00 0.0030
Lombardia Pillar2_pol 20 20 -4.271400e+00 1.010700e+00 0.0000
Lombardia Pillar2_pol 25 20 3.858600e+00 1.036300e+00 0.0002
Lombardia Pillar2_pol 30 20 2.621000e-01 1.166900e+00 0.8223
Lombardia PublS_CyclePath_per -30 20 NA NA NA
Lombardia PublS_CyclePath_per -25 20 NA NA NA
Lombardia PublS_CyclePath_per -20 20 1.134500e+00 8.170000e-01 0.1649
Lombardia PublS_CyclePath_per -15 20 2.699200e+00 3.941000e-01 0.0000
Lombardia PublS_CyclePath_per -10 20 -3.644900e+00 8.397000e-01 0.0000
Lombardia PublS_CyclePath_per -5 20 3.925800e+00 1.858900e+00 0.0347
Lombardia PublS_CyclePath_per 0 20 -1.531400e+00 2.090800e+00 0.4639
Lombardia PublS_CyclePath_per 5 20 7.632000e-01 1.170800e+00 0.5145
Lombardia PublS_CyclePath_per 10 20 2.842700e+00 9.202000e-01 0.0020
Lombardia PublS_CyclePath_per 15 20 -2.779100e+00 1.202800e+00 0.0209
Lombardia PublS_CyclePath_per 20 20 1.139700e+00 1.229600e+00 0.3540
Lombardia PublS_CyclePath_per 25 20 -2.445500e+00 9.965000e-01 0.0141
Lombardia PublS_CyclePath_per 30 20 4.365000e-01 1.130800e+00 0.6995
Lombardia edu_emp_per1000 -30 20 NA NA NA
Lombardia edu_emp_per1000 -25 20 NA NA NA
Lombardia edu_emp_per1000 -20 20 NA NA NA
Lombardia edu_emp_per1000 -15 20 -1.830000e-02 2.900000e-03 0.0000
Lombardia edu_emp_per1000 -10 20 2.900000e-03 1.350000e-02 0.8299
Lombardia edu_emp_per1000 -5 20 1.480000e-02 3.660000e-02 0.6867
Lombardia edu_emp_per1000 0 20 -1.507000e-01 3.730000e-02 0.0001
Lombardia edu_emp_per1000 5 20 8.020000e-02 2.680000e-02 0.0028
Lombardia edu_emp_per1000 10 20 -5.740000e-02 3.500000e-02 0.1010
Lombardia edu_emp_per1000 15 20 -7.340000e-02 3.740000e-02 0.0499
Lombardia edu_emp_per1000 20 20 1.078000e-01 4.890000e-02 0.0276
Lombardia edu_emp_per1000 25 20 9.380000e-02 4.360000e-02 0.0314
Lombardia edu_emp_per1000 30 20 1.730000e-02 2.260000e-02 0.4445
Lombardia edu_muni_school_area_per1000 -30 20 NA NA NA
Lombardia edu_muni_school_area_per1000 -25 20 NA NA NA
Lombardia edu_muni_school_area_per1000 -20 20 3.964500e+00 2.588700e+00 0.1257
Lombardia edu_muni_school_area_per1000 -15 20 -6.307600e+00 1.770500e+00 0.0004
Lombardia edu_muni_school_area_per1000 -10 20 -5.056700e+00 1.227100e+00 0.0000
Lombardia edu_muni_school_area_per1000 -5 20 4.739300e+00 1.197100e+00 0.0001
Lombardia edu_muni_school_area_per1000 0 20 -2.503500e+00 1.296800e+00 0.0535
Lombardia edu_muni_school_area_per1000 5 20 -2.445000e+00 6.582000e-01 0.0002
Lombardia edu_muni_school_area_per1000 10 20 7.379000e-01 6.743000e-01 0.2738
Lombardia edu_muni_school_area_per1000 15 20 -6.332000e-01 6.805000e-01 0.3521
Lombardia edu_muni_school_area_per1000 20 20 -3.285900e+00 6.403000e-01 0.0000
Lombardia edu_muni_school_area_per1000 25 20 2.143500e+00 6.315000e-01 0.0007
Lombardia edu_muni_school_area_per1000 30 20 -3.090000e-02 6.558000e-01 0.9624
Lombardia edu_serv_lvl -30 20 NA NA NA
Lombardia edu_serv_lvl -25 20 NA NA NA
Lombardia edu_serv_lvl -20 20 -2.619000e-01 4.254000e-01 0.5382
Lombardia edu_serv_lvl -15 20 3.697000e-01 4.662000e-01 0.4277
Lombardia edu_serv_lvl -10 20 -2.277300e+00 4.627000e-01 0.0000
Lombardia edu_serv_lvl -5 20 -1.968000e-01 3.476000e-01 0.5712
Lombardia edu_serv_lvl 0 20 8.651000e-01 3.430000e-01 0.0117
Lombardia edu_serv_lvl 5 20 -2.050000e-01 2.552000e-01 0.4218
Lombardia edu_serv_lvl 10 20 1.319000e+00 2.731000e-01 0.0000
Lombardia edu_serv_lvl 15 20 -5.723000e-01 2.735000e-01 0.0364
Lombardia edu_serv_lvl 20 20 -5.741000e-01 2.919000e-01 0.0492
Lombardia edu_serv_lvl 25 20 1.900000e-02 2.707000e-01 0.9440
Lombardia edu_serv_lvl 30 20 1.390000e-01 2.799000e-01 0.6195
Lombardia evasione -30 20 NA NA NA
Lombardia evasione -25 20 NA NA NA
Lombardia evasione -20 20 3.663800e+00 2.532000e+00 0.1479
Lombardia evasione -15 20 3.228700e+00 1.222400e+00 0.0083
Lombardia evasione -10 20 4.806500e+00 1.391000e+00 0.0005
Lombardia evasione -5 20 -6.032000e-01 1.034700e+00 0.5599
Lombardia evasione 0 20 4.933300e+00 9.825000e-01 0.0000
Lombardia evasione 5 20 1.428900e+00 5.563000e-01 0.0102
Lombardia evasione 10 20 -1.710000e-02 5.711000e-01 0.9761
Lombardia evasione 15 20 -8.842000e-01 5.942000e-01 0.1367
Lombardia evasione 20 20 2.154200e+00 6.222000e-01 0.0005
Lombardia evasione 25 20 -4.148200e+00 6.547000e-01 0.0000
Lombardia evasione 30 20 -2.195300e+00 6.784000e-01 0.0012
Lombardia expend_level -30 20 NA NA NA
Lombardia expend_level -25 20 NA NA NA
Lombardia expend_level -20 20 9.984000e-01 4.247000e-01 0.0187
Lombardia expend_level -15 20 1.205900e+00 4.674000e-01 0.0099
Lombardia expend_level -10 20 -5.451000e-01 4.319000e-01 0.2069
Lombardia expend_level -5 20 -1.319600e+00 3.264000e-01 0.0001
Lombardia expend_level 0 20 1.094300e+00 3.323000e-01 0.0010
Lombardia expend_level 5 20 -4.108000e-01 1.941000e-01 0.0343
Lombardia expend_level 10 20 2.487000e-01 1.970000e-01 0.2067
Lombardia expend_level 15 20 8.532000e-01 2.638000e-01 0.0012
Lombardia expend_level 20 20 -3.010000e-01 2.664000e-01 0.2587
Lombardia expend_level 25 20 -6.558000e-01 2.271000e-01 0.0039
Lombardia expend_level 30 20 1.590800e+00 2.167000e-01 0.0000
Lombardia expenditure -30 20 NA NA NA
Lombardia expenditure -25 20 NA NA NA
Lombardia expenditure -20 20 -7.592332e+04 1.759748e+05 0.6661
Lombardia expenditure -15 20 -4.784981e+04 2.717299e+04 0.0782
Lombardia expenditure -10 20 -4.142824e+03 6.580600e+04 0.9498
Lombardia expenditure -5 20 4.179204e+05 1.408860e+05 0.0030
Lombardia expenditure 0 20 -8.794917e+05 1.601799e+05 0.0000
Lombardia expenditure 5 20 6.355741e+05 3.584208e+05 0.0762
Lombardia expenditure 10 20 -1.209950e+06 2.310461e+05 0.0000
Lombardia expenditure 15 20 -1.706679e+04 1.191893e+06 0.9886
Lombardia expenditure 20 20 8.937368e+06 3.093982e+06 0.0039
Lombardia expenditure 25 20 -1.036661e+06 1.545034e+06 0.5022
Lombardia expenditure 30 20 8.745717e+05 2.685420e+05 0.0011
Lombardia gb_intensity -30 20 NA NA NA
Lombardia gb_intensity -25 20 NA NA NA
Lombardia gb_intensity -20 20 -5.000000e-03 4.600000e-03 0.2739
Lombardia gb_intensity -15 20 1.740000e-02 4.800000e-03 0.0003
Lombardia gb_intensity -10 20 -2.370000e-02 4.300000e-03 0.0000
Lombardia gb_intensity -5 20 6.000000e-03 2.700000e-03 0.0257
Lombardia gb_intensity 0 20 1.630000e-02 2.600000e-03 0.0000
Lombardia gb_intensity 5 20 -3.400000e-03 1.800000e-03 0.0530
Lombardia gb_intensity 10 20 2.200000e-03 2.500000e-03 0.3720
Lombardia gb_intensity 15 20 -2.000000e-04 2.700000e-03 0.9274
Lombardia gb_intensity 20 20 -9.300000e-03 2.300000e-03 0.0000
Lombardia gb_intensity 25 20 5.600000e-03 1.400000e-03 0.0001
Lombardia gb_intensity 30 20 3.800000e-03 1.800000e-03 0.0289
Lombardia gb_reg_rate -30 20 NA NA NA
Lombardia gb_reg_rate -25 20 NA NA NA
Lombardia gb_reg_rate -20 20 -2.960000e-02 2.440000e-02 0.2262
Lombardia gb_reg_rate -15 20 2.400000e-02 1.730000e-02 0.1650
Lombardia gb_reg_rate -10 20 1.170000e-02 1.590000e-02 0.4612
Lombardia gb_reg_rate -5 20 -7.490000e-02 1.480000e-02 0.0000
Lombardia gb_reg_rate 0 20 2.810000e-02 1.610000e-02 0.0807
Lombardia gb_reg_rate 5 20 7.370000e-02 1.860000e-02 0.0001
Lombardia gb_reg_rate 10 20 -6.050000e-02 1.670000e-02 0.0003
Lombardia gb_reg_rate 15 20 9.040000e-02 1.660000e-02 0.0000
Lombardia gb_reg_rate 20 20 -1.920000e-02 1.910000e-02 0.3162
Lombardia gb_reg_rate 25 20 2.750000e-02 2.220000e-02 0.2159
Lombardia gb_reg_rate 30 20 2.230000e-02 2.470000e-02 0.3678
Lombardia income -30 20 NA NA NA
Lombardia income -25 20 NA NA NA
Lombardia income -20 20 -1.196535e+07 3.149122e+07 0.7040
Lombardia income -15 20 -9.533706e+06 4.890614e+06 0.0512
Lombardia income -10 20 7.085148e+05 9.281224e+06 0.9391
Lombardia income -5 20 5.355922e+07 1.673832e+07 0.0014
Lombardia income 0 20 -9.856871e+07 1.909590e+07 0.0000
Lombardia income 5 20 6.480434e+07 3.953058e+07 0.1011
Lombardia income 10 20 -1.290268e+08 2.257734e+07 0.0000
Lombardia income 15 20 -6.673957e+06 1.317615e+08 0.9596
Lombardia income 20 20 9.839876e+08 3.426201e+08 0.0041
Lombardia income 25 20 -1.123919e+08 1.710230e+08 0.5111
Lombardia income 30 20 1.004454e+08 2.395438e+07 0.0000
Lombardia incomepc -30 20 NA NA NA
Lombardia incomepc -25 20 NA NA NA
Lombardia incomepc -20 20 -2.019307e+03 4.337268e+02 0.0000
Lombardia incomepc -15 20 3.200572e+02 2.683917e+02 0.2331
Lombardia incomepc -10 20 -1.508361e+03 3.240104e+02 0.0000
Lombardia incomepc -5 20 -2.337180e+01 3.302862e+02 0.9436
Lombardia incomepc 0 20 1.256059e+03 3.319316e+02 0.0002
Lombardia incomepc 5 20 -5.894851e+02 2.642930e+02 0.0257
Lombardia incomepc 10 20 1.020621e+03 3.825968e+02 0.0076
Lombardia incomepc 15 20 -1.095003e+03 3.919803e+02 0.0052
Lombardia incomepc 20 20 -9.005590e+02 3.943474e+02 0.0224
Lombardia incomepc 25 20 9.363340e+01 3.932665e+02 0.8118
Lombardia incomepc 30 20 2.303409e+03 3.759578e+02 0.0000
Lombardia marr_civil -30 20 NA NA NA
Lombardia marr_civil -25 20 NA NA NA
Lombardia marr_civil -20 20 3.163300e+00 2.860000e+00 0.2687
Lombardia marr_civil -15 20 -2.677600e+00 9.775000e-01 0.0062
Lombardia marr_civil -10 20 -1.154000e+00 9.556000e-01 0.2272
Lombardia marr_civil -5 20 9.362200e+00 2.074300e+00 0.0000
Lombardia marr_civil 0 20 -6.427500e+00 2.426400e+00 0.0081
Lombardia marr_civil 5 20 4.179200e+00 2.881800e+00 0.1470
Lombardia marr_civil 10 20 -6.455700e+00 2.196800e+00 0.0033
Lombardia marr_civil 15 20 1.251500e+00 9.186300e+00 0.8916
Lombardia marr_civil 20 20 6.532010e+01 2.349440e+01 0.0054
Lombardia marr_civil 25 20 -4.403300e+00 1.175740e+01 0.7080
Lombardia marr_civil 30 20 1.978400e+00 2.388900e+00 0.4076
Lombardia marr_rel -30 20 NA NA NA
Lombardia marr_rel -25 20 NA NA NA
Lombardia marr_rel -20 20 -5.779000e-01 1.353000e+00 0.6693
Lombardia marr_rel -15 20 -7.297000e-01 6.720000e-01 0.2775
Lombardia marr_rel -10 20 -1.118700e+00 5.474000e-01 0.0410
Lombardia marr_rel -5 20 4.720100e+00 1.122200e+00 0.0000
Lombardia marr_rel 0 20 -7.006900e+00 1.348400e+00 0.0000
Lombardia marr_rel 5 20 1.777000e+00 1.067300e+00 0.0959
Lombardia marr_rel 10 20 -2.396600e+00 1.115500e+00 0.0317
Lombardia marr_rel 15 20 -3.178000e-01 2.970700e+00 0.9148
Lombardia marr_rel 20 20 1.848780e+01 7.230900e+00 0.0106
Lombardia marr_rel 25 20 -6.295000e-01 3.656900e+00 0.8633
Lombardia marr_rel 30 20 1.135100e+00 1.084200e+00 0.2952
Lombardia pol_mun_road -30 20 NA NA NA
Lombardia pol_mun_road -25 20 NA NA NA
Lombardia pol_mun_road -20 20 -1.837700e+01 1.298080e+01 0.1569
Lombardia pol_mun_road -15 20 -1.636980e+01 3.584300e+00 0.0000
Lombardia pol_mun_road -10 20 -2.692800e+00 4.907800e+00 0.5832
Lombardia pol_mun_road -5 20 3.029810e+01 7.928900e+00 0.0001
Lombardia pol_mun_road 0 20 -4.936420e+01 8.845600e+00 0.0000
Lombardia pol_mun_road 5 20 1.330090e+01 4.881300e+00 0.0064
Lombardia pol_mun_road 10 20 -1.648550e+01 6.302200e+00 0.0089
Lombardia pol_mun_road 15 20 2.330100e+00 1.126000e+01 0.8361
Lombardia pol_mun_road 20 20 5.516110e+01 2.542690e+01 0.0301
Lombardia pol_mun_road 25 20 7.551000e-01 1.305870e+01 0.9539
Lombardia pol_mun_road 30 20 3.300000e-01 5.413000e+00 0.9514
Lombardia services_level -30 20 NA NA NA
Lombardia services_level -25 20 NA NA NA
Lombardia services_level -20 20 2.487300e+00 5.259000e-01 0.0000
Lombardia services_level -15 20 -7.743000e-01 5.574000e-01 0.1648
Lombardia services_level -10 20 -1.578800e+00 4.623000e-01 0.0006
Lombardia services_level -5 20 -7.885000e-01 4.136000e-01 0.0566
Lombardia services_level 0 20 9.821000e-01 3.914000e-01 0.0121
Lombardia services_level 5 20 -1.198500e+00 2.261000e-01 0.0000
Lombardia services_level 10 20 1.077000e-01 2.115000e-01 0.6106
Lombardia services_level 15 20 7.664000e-01 2.064000e-01 0.0002
Lombardia services_level 20 20 3.649000e-01 2.464000e-01 0.1386
Lombardia services_level 25 20 -9.958000e-01 2.542000e-01 0.0001
Lombardia services_level 30 20 1.706000e-01 2.641000e-01 0.5182
# One graph per outcome, facet by sample
for (y in unique(placebo_df$outcome)) {
  dfy <- placebo_df %>% filter(outcome == y, is.finite(tau_bc), is.finite(se_rb))
  p <- ggplot(dfy, aes(x = cutoff, y = tau_bc)) +
    geom_hline(yintercept = 0) +
    geom_vline(xintercept = 0, linetype = "dashed") +
    geom_errorbar(aes(ymin = ci_low, ymax = ci_high), width = 0) +
    geom_point(size = 1.6) +
    facet_wrap(~ sample, ncol = 1, scales = "free_y") +
    labs(
      x = "Artificial cutoff (km; true cutoff at 0)",
      y = "RD estimate (bias-corrected Ï„; robust SE)",
      title = paste0("Placebo cutoff RD estimates: ", y, " (fixed h = ", H_FIXED_PLACEBO, " km)")
    ) +
    theme_minimal(base_size = 12)
  print(p)
}