This appendix runs two robustness/validation components as a standalone file (it loads data and applies the manual distance overrides):
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, using
fixed bandwidth h = 5 km.
Placebo cutoffs (fixed bandwidth): estimates RD
effects at artificial cutoffs every 5 km up to
±30 km, including 0, using
fixed bandwidth h = 5 km.
Both are run for: - All Italy (full merged sample,
with region FE via covs= in rdrobust) -
Lombardia (subset, no region FE)
# 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
# Fixed bandwidths
H_DONUT <- 40
H_PLACEBO <- 5
placebo_cutoffs <- seq(-PLACEBO_MAX_KM, PLACEBO_MAX_KM, by = PLACEBO_STEP_KM)
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.")
# 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)
}
# Fixed-h rdrobust (used for donut and placebo)
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 (overall, not within h) — avoids hard failures
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])
)
}
cat("\n\n## Appendix B1. Donut RD robustness: exclude |X| < ", DONUT_KM, " km (true cutoff only), fixed h = ", H_DONUT, " km\n\n", sep = "")
##
##
## ## Appendix B1. Donut RD robustness: exclude |X| < 2.5 km (true cutoff only), fixed h = 40 km
# 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 (fixed h = 40)
donut_all_tbl <- purrr::map_dfr(OUTCOMES_PRESENT, ~run_rd_fixed_h(df_all_donut, y = .x, x = RUNNING, covs_mat = covs_all,
c0 = 0, h_fixed = H_DONUT))
donut_lom_tbl <- purrr::map_dfr(OUTCOMES_PRESENT, ~run_rd_fixed_h(df_lom_donut, y = .x, x = RUNNING, covs_mat = NULL,
c0 = 0, h_fixed = H_DONUT))
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 | 40 | 1.041000e-01 | 3.090000e-02 | 0.0008 |
| All Italy (donut) | Pillar2_pol | 6884 | 40 | -1.024900e+00 | 6.668000e-01 | 0.1243 |
| All Italy (donut) | PublS_CyclePath_per | 6242 | 40 | 4.698400e+00 | 7.099000e-01 | 0.0000 |
| All Italy (donut) | edu_emp_per1000 | 3388 | 40 | -9.000000e-04 | 2.160000e-02 | 0.9662 |
| All Italy (donut) | edu_muni_school_area_per1000 | 6306 | 40 | 2.648000e+00 | 5.083000e-01 | 0.0000 |
| All Italy (donut) | edu_serv_lvl | 5960 | 40 | 6.317000e-01 | 1.908000e-01 | 0.0009 |
| All Italy (donut) | evasione | 6884 | 40 | -2.103200e+00 | 4.669000e-01 | 0.0000 |
| All Italy (donut) | expend_level | 6314 | 40 | 2.852000e-01 | 1.501000e-01 | 0.0574 |
| All Italy (donut) | expenditure | 6884 | 40 | -7.212221e+05 | 1.722566e+05 | 0.0000 |
| All Italy (donut) | gb_intensity | 6924 | 40 | -1.440000e-02 | 1.300000e-03 | 0.0000 |
| All Italy (donut) | gb_reg_rate | 6924 | 40 | 6.350000e-02 | 1.260000e-02 | 0.0000 |
| All Italy (donut) | income | 6314 | 40 | -9.261885e+07 | 1.622913e+07 | 0.0000 |
| All Italy (donut) | incomepc | 6314 | 40 | 5.789608e+02 | 1.791153e+02 | 0.0012 |
| All Italy (donut) | marr_civil | 6314 | 40 | -3.377600e+00 | 1.487400e+00 | 0.0232 |
| All Italy (donut) | marr_rel | 6314 | 40 | -2.393500e+00 | 6.746000e-01 | 0.0004 |
| All Italy (donut) | pol_mun_road | 6314 | 40 | 6.651600e+00 | 4.615200e+00 | 0.1495 |
| All Italy (donut) | services_level | 6314 | 40 | 1.556200e+00 | 1.704000e-01 | 0.0000 |
| Lombardia (donut) | Admin_Tax_Emp | 774 | 40 | -8.250000e-02 | 4.780000e-02 | 0.0846 |
| Lombardia (donut) | Pillar2_pol | 2746 | 40 | -1.298400e+00 | 1.073200e+00 | 0.2264 |
| Lombardia (donut) | PublS_CyclePath_per | 2722 | 40 | -1.892000e-01 | 1.460700e+00 | 0.8969 |
| Lombardia (donut) | edu_emp_per1000 | 1358 | 40 | -8.610000e-02 | 2.870000e-02 | 0.0027 |
| Lombardia (donut) | edu_muni_school_area_per1000 | 2746 | 40 | 2.200600e+00 | 9.551000e-01 | 0.0212 |
| Lombardia (donut) | edu_serv_lvl | 2668 | 40 | 1.608000e-01 | 2.688000e-01 | 0.5496 |
| Lombardia (donut) | evasione | 2746 | 40 | -6.344000e-01 | 8.589000e-01 | 0.4602 |
| Lombardia (donut) | expend_level | 2746 | 40 | 6.625000e-01 | 2.652000e-01 | 0.0125 |
| Lombardia (donut) | expenditure | 2746 | 40 | -1.432557e+06 | 1.524924e+05 | 0.0000 |
| Lombardia (donut) | gb_intensity | 2766 | 40 | 4.000000e-04 | 2.000000e-03 | 0.8584 |
| Lombardia (donut) | gb_reg_rate | 2766 | 40 | 9.250000e-02 | 1.350000e-02 | 0.0000 |
| Lombardia (donut) | income | 2746 | 40 | -1.765973e+08 | 1.775563e+07 | 0.0000 |
| Lombardia (donut) | incomepc | 2746 | 40 | 1.098302e+03 | 2.440615e+02 | 0.0000 |
| Lombardia (donut) | marr_civil | 2746 | 40 | -1.230470e+01 | 1.878900e+00 | 0.0000 |
| Lombardia (donut) | marr_rel | 2746 | 40 | -5.375700e+00 | 1.009700e+00 | 0.0000 |
| Lombardia (donut) | pol_mun_road | 2746 | 40 | -3.730910e+01 | 6.763900e+00 | 0.0000 |
| Lombardia (donut) | services_level | 2746 | 40 | 1.770300e+00 | 2.964000e-01 | 0.0000 |
cat("\n\n## Appendix B2. Placebo cutoffs: every ", PLACEBO_STEP_KM, " km to ±", PLACEBO_MAX_KM,
" (including 0), fixed h = ", H_DONUT, " km\n\n", sep = "")
##
##
## ## Appendix B2. Placebo cutoffs: every 5 km to ±30 (including 0), fixed h = 40 km
# Covariates for All-Italy placebo (region FE)
covs_all_placebo <- make_region_covs(df_all, REGION)
# Estimate placebo curves (All-Italy + Lombardia) at fixed h = 40
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_DONUT)
})
}) %>% 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_DONUT)
})
}) %>% 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 | 40 | 2.460000e-01 | 7.670000e-02 | 0.0013 |
| All Italy | Admin_Tax_Emp | -25 | 40 | 1.685000e-01 | 6.120000e-02 | 0.0059 |
| All Italy | Admin_Tax_Emp | -20 | 40 | -4.930000e-02 | 7.390000e-02 | 0.5046 |
| All Italy | Admin_Tax_Emp | -15 | 40 | -2.851000e-01 | 7.170000e-02 | 0.0001 |
| All Italy | Admin_Tax_Emp | -10 | 40 | -6.480000e-02 | 4.340000e-02 | 0.1357 |
| All Italy | Admin_Tax_Emp | -5 | 40 | 1.030000e-01 | 3.010000e-02 | 0.0006 |
| All Italy | Admin_Tax_Emp | 0 | 40 | 9.260000e-02 | 3.070000e-02 | 0.0026 |
| All Italy | Admin_Tax_Emp | 5 | 40 | -2.228000e-01 | 2.930000e-02 | 0.0000 |
| All Italy | Admin_Tax_Emp | 10 | 40 | -8.940000e-02 | 4.210000e-02 | 0.0338 |
| All Italy | Admin_Tax_Emp | 15 | 40 | 8.270000e-02 | 7.770000e-02 | 0.2869 |
| All Italy | Admin_Tax_Emp | 20 | 40 | 5.071000e-01 | 1.490000e-01 | 0.0007 |
| All Italy | Admin_Tax_Emp | 25 | 40 | -4.432000e-01 | 1.173000e-01 | 0.0002 |
| All Italy | Admin_Tax_Emp | 30 | 40 | -9.400000e-02 | 8.210000e-02 | 0.2521 |
| All Italy | Pillar2_pol | -30 | 40 | 4.209000e-01 | 7.762000e-01 | 0.5876 |
| All Italy | Pillar2_pol | -25 | 40 | 7.103000e-01 | 7.747000e-01 | 0.3592 |
| All Italy | Pillar2_pol | -20 | 40 | -1.624900e+00 | 7.339000e-01 | 0.0268 |
| All Italy | Pillar2_pol | -15 | 40 | -1.239900e+00 | 6.724000e-01 | 0.0652 |
| All Italy | Pillar2_pol | -10 | 40 | 9.345000e-01 | 6.334000e-01 | 0.1401 |
| All Italy | Pillar2_pol | -5 | 40 | -7.877000e-01 | 6.141000e-01 | 0.1996 |
| All Italy | Pillar2_pol | 0 | 40 | -6.059000e-01 | 6.324000e-01 | 0.3380 |
| All Italy | Pillar2_pol | 5 | 40 | 9.044000e-01 | 6.325000e-01 | 0.1528 |
| All Italy | Pillar2_pol | 10 | 40 | 9.535000e-01 | 6.493000e-01 | 0.1420 |
| All Italy | Pillar2_pol | 15 | 40 | 1.357100e+00 | 6.806000e-01 | 0.0461 |
| All Italy | Pillar2_pol | 20 | 40 | -4.367100e+00 | 7.064000e-01 | 0.0000 |
| All Italy | Pillar2_pol | 25 | 40 | 8.581000e-01 | 7.469000e-01 | 0.2506 |
| All Italy | Pillar2_pol | 30 | 40 | 5.295000e-01 | 8.089000e-01 | 0.5128 |
| All Italy | PublS_CyclePath_per | -30 | 40 | -1.895600e+00 | 7.017000e-01 | 0.0069 |
| All Italy | PublS_CyclePath_per | -25 | 40 | 2.203300e+00 | 6.553000e-01 | 0.0008 |
| All Italy | PublS_CyclePath_per | -20 | 40 | -1.015800e+00 | 7.565000e-01 | 0.1794 |
| All Italy | PublS_CyclePath_per | -15 | 40 | 8.725000e-01 | 8.700000e-01 | 0.3159 |
| All Italy | PublS_CyclePath_per | -10 | 40 | -5.300500e+00 | 9.690000e-01 | 0.0000 |
| All Italy | PublS_CyclePath_per | -5 | 40 | 1.068400e+00 | 7.270000e-01 | 0.1416 |
| All Italy | PublS_CyclePath_per | 0 | 40 | 5.444700e+00 | 7.359000e-01 | 0.0000 |
| All Italy | PublS_CyclePath_per | 5 | 40 | 1.133500e+00 | 7.636000e-01 | 0.1377 |
| All Italy | PublS_CyclePath_per | 10 | 40 | 1.260200e+00 | 7.228000e-01 | 0.0813 |
| All Italy | PublS_CyclePath_per | 15 | 40 | -3.249800e+00 | 7.768000e-01 | 0.0000 |
| All Italy | PublS_CyclePath_per | 20 | 40 | -4.358000e-01 | 8.097000e-01 | 0.5904 |
| All Italy | PublS_CyclePath_per | 25 | 40 | -1.036200e+00 | 7.752000e-01 | 0.1814 |
| All Italy | PublS_CyclePath_per | 30 | 40 | -5.670000e-01 | 8.276000e-01 | 0.4932 |
| All Italy | edu_emp_per1000 | -30 | 40 | -1.404000e-01 | 6.220000e-02 | 0.0240 |
| All Italy | edu_emp_per1000 | -25 | 40 | 9.010000e-02 | 2.380000e-02 | 0.0002 |
| All Italy | edu_emp_per1000 | -20 | 40 | -1.112000e-01 | 2.810000e-02 | 0.0001 |
| All Italy | edu_emp_per1000 | -15 | 40 | -4.800000e-02 | 2.310000e-02 | 0.0380 |
| All Italy | edu_emp_per1000 | -10 | 40 | -1.300000e-03 | 2.180000e-02 | 0.9529 |
| All Italy | edu_emp_per1000 | -5 | 40 | -1.720000e-02 | 2.200000e-02 | 0.4333 |
| All Italy | edu_emp_per1000 | 0 | 40 | -1.090000e-02 | 2.020000e-02 | 0.5893 |
| All Italy | edu_emp_per1000 | 5 | 40 | 6.180000e-02 | 1.970000e-02 | 0.0017 |
| All Italy | edu_emp_per1000 | 10 | 40 | -3.900000e-03 | 2.320000e-02 | 0.8653 |
| All Italy | edu_emp_per1000 | 15 | 40 | -4.520000e-02 | 2.670000e-02 | 0.0911 |
| All Italy | edu_emp_per1000 | 20 | 40 | 2.290000e-02 | 3.140000e-02 | 0.4663 |
| All Italy | edu_emp_per1000 | 25 | 40 | 1.110000e-02 | 2.710000e-02 | 0.6833 |
| All Italy | edu_emp_per1000 | 30 | 40 | -2.570000e-02 | 1.940000e-02 | 0.1849 |
| All Italy | edu_muni_school_area_per1000 | -30 | 40 | 1.949900e+00 | 7.508000e-01 | 0.0094 |
| All Italy | edu_muni_school_area_per1000 | -25 | 40 | 1.793100e+00 | 7.055000e-01 | 0.0110 |
| All Italy | edu_muni_school_area_per1000 | -20 | 40 | -1.617100e+00 | 7.156000e-01 | 0.0238 |
| All Italy | edu_muni_school_area_per1000 | -15 | 40 | -5.808400e+00 | 6.268000e-01 | 0.0000 |
| All Italy | edu_muni_school_area_per1000 | -10 | 40 | -1.341000e-01 | 5.405000e-01 | 0.8041 |
| All Italy | edu_muni_school_area_per1000 | -5 | 40 | 1.266700e+00 | 4.775000e-01 | 0.0080 |
| All Italy | edu_muni_school_area_per1000 | 0 | 40 | 1.352600e+00 | 4.779000e-01 | 0.0047 |
| All Italy | edu_muni_school_area_per1000 | 5 | 40 | -3.271000e-01 | 4.665000e-01 | 0.4831 |
| All Italy | edu_muni_school_area_per1000 | 10 | 40 | 1.429900e+00 | 4.653000e-01 | 0.0021 |
| All Italy | edu_muni_school_area_per1000 | 15 | 40 | -3.428000e-01 | 4.545000e-01 | 0.4507 |
| All Italy | edu_muni_school_area_per1000 | 20 | 40 | -3.350800e+00 | 4.576000e-01 | 0.0000 |
| All Italy | edu_muni_school_area_per1000 | 25 | 40 | -8.927000e-01 | 4.564000e-01 | 0.0505 |
| All Italy | edu_muni_school_area_per1000 | 30 | 40 | -7.190000e-01 | 4.605000e-01 | 0.1185 |
| All Italy | edu_serv_lvl | -30 | 40 | -6.323000e-01 | 2.144000e-01 | 0.0032 |
| All Italy | edu_serv_lvl | -25 | 40 | -1.415000e-01 | 2.092000e-01 | 0.4988 |
| All Italy | edu_serv_lvl | -20 | 40 | 6.180000e-02 | 2.109000e-01 | 0.7697 |
| All Italy | edu_serv_lvl | -15 | 40 | -5.290000e-02 | 2.114000e-01 | 0.8022 |
| All Italy | edu_serv_lvl | -10 | 40 | -7.439000e-01 | 2.046000e-01 | 0.0003 |
| All Italy | edu_serv_lvl | -5 | 40 | -1.709000e-01 | 1.814000e-01 | 0.3461 |
| All Italy | edu_serv_lvl | 0 | 40 | 3.057000e-01 | 1.812000e-01 | 0.0916 |
| All Italy | edu_serv_lvl | 5 | 40 | 2.579000e-01 | 1.821000e-01 | 0.1567 |
| All Italy | edu_serv_lvl | 10 | 40 | 9.543000e-01 | 1.884000e-01 | 0.0000 |
| All Italy | edu_serv_lvl | 15 | 40 | -6.708000e-01 | 1.906000e-01 | 0.0004 |
| All Italy | edu_serv_lvl | 20 | 40 | -7.580000e-01 | 1.981000e-01 | 0.0001 |
| All Italy | edu_serv_lvl | 25 | 40 | -2.597000e-01 | 1.959000e-01 | 0.1851 |
| All Italy | edu_serv_lvl | 30 | 40 | -1.051000e-01 | 2.020000e-01 | 0.6028 |
| All Italy | evasione | -30 | 40 | -3.221000e+00 | 8.045000e-01 | 0.0001 |
| All Italy | evasione | -25 | 40 | -3.086700e+00 | 7.602000e-01 | 0.0000 |
| All Italy | evasione | -20 | 40 | 6.290000e-01 | 6.353000e-01 | 0.3221 |
| All Italy | evasione | -15 | 40 | 3.950600e+00 | 5.307000e-01 | 0.0000 |
| All Italy | evasione | -10 | 40 | 2.473600e+00 | 4.884000e-01 | 0.0000 |
| All Italy | evasione | -5 | 40 | -4.803000e-01 | 4.480000e-01 | 0.2837 |
| All Italy | evasione | 0 | 40 | -1.151800e+00 | 4.435000e-01 | 0.0094 |
| All Italy | evasione | 5 | 40 | -4.651000e-01 | 3.982000e-01 | 0.2428 |
| All Italy | evasione | 10 | 40 | -9.741000e-01 | 3.996000e-01 | 0.0148 |
| All Italy | evasione | 15 | 40 | -1.213000e-01 | 4.138000e-01 | 0.7694 |
| All Italy | evasione | 20 | 40 | 2.719700e+00 | 4.376000e-01 | 0.0000 |
| All Italy | evasione | 25 | 40 | -1.139500e+00 | 4.651000e-01 | 0.0143 |
| All Italy | evasione | 30 | 40 | -4.034000e-01 | 4.885000e-01 | 0.4089 |
| All Italy | expend_level | -30 | 40 | -2.197000e-01 | 1.656000e-01 | 0.1846 |
| All Italy | expend_level | -25 | 40 | 2.282000e-01 | 1.701000e-01 | 0.1799 |
| All Italy | expend_level | -20 | 40 | 3.445000e-01 | 1.680000e-01 | 0.0403 |
| All Italy | expend_level | -15 | 40 | -3.175000e-01 | 1.741000e-01 | 0.0682 |
| All Italy | expend_level | -10 | 40 | -2.331000e-01 | 1.562000e-01 | 0.1356 |
| All Italy | expend_level | -5 | 40 | -2.268000e-01 | 1.396000e-01 | 0.1043 |
| All Italy | expend_level | 0 | 40 | 2.311000e-01 | 1.433000e-01 | 0.1067 |
| All Italy | expend_level | 5 | 40 | -6.380000e-02 | 1.441000e-01 | 0.6578 |
| All Italy | expend_level | 10 | 40 | 1.815000e-01 | 1.475000e-01 | 0.2186 |
| All Italy | expend_level | 15 | 40 | 1.521000e-01 | 1.706000e-01 | 0.3726 |
| All Italy | expend_level | 20 | 40 | -5.206000e-01 | 1.725000e-01 | 0.0025 |
| All Italy | expend_level | 25 | 40 | -2.584000e-01 | 1.660000e-01 | 0.1195 |
| All Italy | expend_level | 30 | 40 | 1.282600e+00 | 1.647000e-01 | 0.0000 |
| All Italy | expenditure | -30 | 40 | -2.029096e+06 | 5.413200e+05 | 0.0002 |
| All Italy | expenditure | -25 | 40 | 4.598891e+05 | 4.530146e+05 | 0.3100 |
| All Italy | expenditure | -20 | 40 | -1.250840e+06 | 3.980632e+05 | 0.0017 |
| All Italy | expenditure | -15 | 40 | 5.415566e+05 | 3.014317e+05 | 0.0724 |
| All Italy | expenditure | -10 | 40 | -2.702768e+04 | 3.033418e+05 | 0.9290 |
| All Italy | expenditure | -5 | 40 | 6.384092e+04 | 2.354373e+05 | 0.7863 |
| All Italy | expenditure | 0 | 40 | -5.864452e+05 | 1.605011e+05 | 0.0003 |
| All Italy | expenditure | 5 | 40 | -1.330702e+05 | 1.745823e+05 | 0.4459 |
| All Italy | expenditure | 10 | 40 | 4.513561e+05 | 5.300651e+05 | 0.3945 |
| All Italy | expenditure | 15 | 40 | 1.654436e+06 | 1.099033e+06 | 0.1322 |
| All Italy | expenditure | 20 | 40 | 4.679464e+06 | 1.606868e+06 | 0.0036 |
| All Italy | expenditure | 25 | 40 | -2.352458e+06 | 1.155721e+06 | 0.0418 |
| All Italy | expenditure | 30 | 40 | -6.841257e+05 | 6.672265e+05 | 0.3052 |
| All Italy | gb_intensity | -30 | 40 | -6.500000e-03 | 1.000000e-03 | 0.0000 |
| All Italy | gb_intensity | -25 | 40 | -2.600000e-03 | 1.100000e-03 | 0.0227 |
| All Italy | gb_intensity | -20 | 40 | 4.600000e-03 | 1.300000e-03 | 0.0007 |
| All Italy | gb_intensity | -15 | 40 | 6.900000e-03 | 1.400000e-03 | 0.0000 |
| All Italy | gb_intensity | -10 | 40 | -1.900000e-03 | 1.400000e-03 | 0.1619 |
| All Italy | gb_intensity | -5 | 40 | -3.900000e-03 | 1.200000e-03 | 0.0010 |
| All Italy | gb_intensity | 0 | 40 | -5.000000e-03 | 1.200000e-03 | 0.0000 |
| All Italy | gb_intensity | 5 | 40 | -3.000000e-04 | 1.300000e-03 | 0.8374 |
| All Italy | gb_intensity | 10 | 40 | 7.600000e-03 | 1.600000e-03 | 0.0000 |
| All Italy | gb_intensity | 15 | 40 | 3.900000e-03 | 1.600000e-03 | 0.0175 |
| All Italy | gb_intensity | 20 | 40 | -1.080000e-02 | 1.500000e-03 | 0.0000 |
| All Italy | gb_intensity | 25 | 40 | -4.300000e-03 | 1.200000e-03 | 0.0005 |
| All Italy | gb_intensity | 30 | 40 | 2.900000e-03 | 1.300000e-03 | 0.0229 |
| All Italy | gb_reg_rate | -30 | 40 | 4.580000e-02 | 1.650000e-02 | 0.0055 |
| All Italy | gb_reg_rate | -25 | 40 | -2.700000e-03 | 1.610000e-02 | 0.8664 |
| All Italy | gb_reg_rate | -20 | 40 | 1.660000e-02 | 1.480000e-02 | 0.2624 |
| All Italy | gb_reg_rate | -15 | 40 | -3.040000e-02 | 1.220000e-02 | 0.0128 |
| All Italy | gb_reg_rate | -10 | 40 | -3.170000e-02 | 1.080000e-02 | 0.0035 |
| All Italy | gb_reg_rate | -5 | 40 | -3.640000e-02 | 1.070000e-02 | 0.0007 |
| All Italy | gb_reg_rate | 0 | 40 | 3.780000e-02 | 1.160000e-02 | 0.0011 |
| All Italy | gb_reg_rate | 5 | 40 | 6.310000e-02 | 1.260000e-02 | 0.0000 |
| All Italy | gb_reg_rate | 10 | 40 | -3.440000e-02 | 1.190000e-02 | 0.0039 |
| All Italy | gb_reg_rate | 15 | 40 | -1.360000e-02 | 1.220000e-02 | 0.2658 |
| All Italy | gb_reg_rate | 20 | 40 | -4.220000e-02 | 1.360000e-02 | 0.0019 |
| All Italy | gb_reg_rate | 25 | 40 | 5.000000e-02 | 1.570000e-02 | 0.0014 |
| All Italy | gb_reg_rate | 30 | 40 | 6.440000e-02 | 1.720000e-02 | 0.0002 |
| All Italy | income | -30 | 40 | -1.167725e+08 | 3.478761e+07 | 0.0008 |
| All Italy | income | -25 | 40 | 3.155573e+07 | 3.122797e+07 | 0.3123 |
| All Italy | income | -20 | 40 | -1.018863e+08 | 2.990158e+07 | 0.0007 |
| All Italy | income | -15 | 40 | 5.341101e+07 | 2.676626e+07 | 0.0460 |
| All Italy | income | -10 | 40 | -5.478871e+06 | 2.974583e+07 | 0.8539 |
| All Italy | income | -5 | 40 | -1.229272e+07 | 2.454716e+07 | 0.6165 |
| All Italy | income | 0 | 40 | -9.190051e+07 | 1.508990e+07 | 0.0000 |
| All Italy | income | 5 | 40 | -2.311387e+07 | 1.779191e+07 | 0.1939 |
| All Italy | income | 10 | 40 | 4.958805e+07 | 5.762339e+07 | 0.3895 |
| All Italy | income | 15 | 40 | 2.073770e+08 | 1.214646e+08 | 0.0878 |
| All Italy | income | 20 | 40 | 5.228651e+08 | 1.778249e+08 | 0.0033 |
| All Italy | income | 25 | 40 | -2.777767e+08 | 1.277668e+08 | 0.0297 |
| All Italy | income | 30 | 40 | -9.216039e+07 | 7.291486e+07 | 0.2062 |
| All Italy | incomepc | -30 | 40 | -2.339395e+02 | 1.878854e+02 | 0.2131 |
| All Italy | incomepc | -25 | 40 | -1.358311e+02 | 1.858468e+02 | 0.4649 |
| All Italy | incomepc | -20 | 40 | -2.374455e+02 | 1.916437e+02 | 0.2153 |
| All Italy | incomepc | -15 | 40 | -5.625573e+02 | 1.857296e+02 | 0.0025 |
| All Italy | incomepc | -10 | 40 | -7.842552e+02 | 1.910082e+02 | 0.0000 |
| All Italy | incomepc | -5 | 40 | 7.823980e+01 | 1.681200e+02 | 0.6417 |
| All Italy | incomepc | 0 | 40 | 6.508961e+02 | 1.767874e+02 | 0.0002 |
| All Italy | incomepc | 5 | 40 | 1.499011e+02 | 1.970435e+02 | 0.4468 |
| All Italy | incomepc | 10 | 40 | 1.123670e+03 | 2.446427e+02 | 0.0000 |
| All Italy | incomepc | 15 | 40 | -1.510012e+03 | 2.586102e+02 | 0.0000 |
| All Italy | incomepc | 20 | 40 | -1.792299e+03 | 2.706013e+02 | 0.0000 |
| All Italy | incomepc | 25 | 40 | -1.153234e+02 | 2.708157e+02 | 0.6702 |
| All Italy | incomepc | 30 | 40 | 1.782282e+03 | 2.568818e+02 | 0.0000 |
| All Italy | marr_civil | -30 | 40 | -1.106720e+01 | 3.375300e+00 | 0.0010 |
| All Italy | marr_civil | -25 | 40 | 3.525500e+00 | 3.125500e+00 | 0.2593 |
| All Italy | marr_civil | -20 | 40 | -1.236650e+01 | 3.080200e+00 | 0.0001 |
| All Italy | marr_civil | -15 | 40 | 1.643100e+00 | 2.415400e+00 | 0.4963 |
| All Italy | marr_civil | -10 | 40 | 1.607800e+00 | 2.412700e+00 | 0.5052 |
| All Italy | marr_civil | -5 | 40 | 2.308500e+00 | 1.920200e+00 | 0.2293 |
| All Italy | marr_civil | 0 | 40 | -3.811000e+00 | 1.394500e+00 | 0.0063 |
| All Italy | marr_civil | 5 | 40 | -3.069800e+00 | 1.539000e+00 | 0.0461 |
| All Italy | marr_civil | 10 | 40 | 4.208700e+00 | 4.126300e+00 | 0.3077 |
| All Italy | marr_civil | 15 | 40 | 1.475590e+01 | 8.392100e+00 | 0.0787 |
| All Italy | marr_civil | 20 | 40 | 3.504160e+01 | 1.221770e+01 | 0.0041 |
| All Italy | marr_civil | 25 | 40 | -1.658050e+01 | 8.802400e+00 | 0.0596 |
| All Italy | marr_civil | 30 | 40 | -8.369100e+00 | 5.117800e+00 | 0.1020 |
| All Italy | marr_rel | -30 | 40 | -3.965700e+00 | 1.083300e+00 | 0.0003 |
| All Italy | marr_rel | -25 | 40 | 1.835300e+00 | 1.069700e+00 | 0.0862 |
| All Italy | marr_rel | -20 | 40 | -3.584200e+00 | 1.094800e+00 | 0.0011 |
| All Italy | marr_rel | -15 | 40 | 4.955000e-01 | 8.994000e-01 | 0.5817 |
| All Italy | marr_rel | -10 | 40 | -1.565000e-01 | 8.946000e-01 | 0.8612 |
| All Italy | marr_rel | -5 | 40 | 5.056000e-01 | 7.504000e-01 | 0.5005 |
| All Italy | marr_rel | 0 | 40 | -2.932300e+00 | 6.360000e-01 | 0.0000 |
| All Italy | marr_rel | 5 | 40 | 6.470000e-02 | 6.844000e-01 | 0.9246 |
| All Italy | marr_rel | 10 | 40 | 2.402600e+00 | 1.405100e+00 | 0.0873 |
| All Italy | marr_rel | 15 | 40 | 3.734700e+00 | 2.641100e+00 | 0.1573 |
| All Italy | marr_rel | 20 | 40 | 9.181700e+00 | 3.781700e+00 | 0.0152 |
| All Italy | marr_rel | 25 | 40 | -5.158700e+00 | 2.745400e+00 | 0.0602 |
| All Italy | marr_rel | 30 | 40 | -3.019700e+00 | 1.674000e+00 | 0.0712 |
| All Italy | pol_mun_road | -30 | 40 | 1.598400e+00 | 9.020400e+00 | 0.8593 |
| All Italy | pol_mun_road | -25 | 40 | 1.287330e+01 | 9.057500e+00 | 0.1552 |
| All Italy | pol_mun_road | -20 | 40 | -2.942370e+01 | 9.340600e+00 | 0.0016 |
| All Italy | pol_mun_road | -15 | 40 | -4.203600e+00 | 7.380900e+00 | 0.5690 |
| All Italy | pol_mun_road | -10 | 40 | -5.322300e+00 | 7.096000e+00 | 0.4532 |
| All Italy | pol_mun_road | -5 | 40 | 2.104500e+00 | 5.071300e+00 | 0.6782 |
| All Italy | pol_mun_road | 0 | 40 | -2.273600e+00 | 4.258600e+00 | 0.5934 |
| All Italy | pol_mun_road | 5 | 40 | 1.018950e+01 | 4.001100e+00 | 0.0109 |
| All Italy | pol_mun_road | 10 | 40 | 2.650100e+00 | 6.295000e+00 | 0.6738 |
| All Italy | pol_mun_road | 15 | 40 | 4.975000e+00 | 9.805800e+00 | 0.6119 |
| All Italy | pol_mun_road | 20 | 40 | 1.824650e+01 | 1.350470e+01 | 0.1767 |
| All Italy | pol_mun_road | 25 | 40 | -1.833220e+01 | 9.898500e+00 | 0.0640 |
| All Italy | pol_mun_road | 30 | 40 | -5.557000e+00 | 6.516800e+00 | 0.3938 |
| All Italy | services_level | -30 | 40 | -2.148000e-01 | 2.209000e-01 | 0.3310 |
| All Italy | services_level | -25 | 40 | 5.324000e-01 | 2.072000e-01 | 0.0102 |
| All Italy | services_level | -20 | 40 | -3.922000e-01 | 2.029000e-01 | 0.0532 |
| All Italy | services_level | -15 | 40 | -1.454300e+00 | 1.969000e-01 | 0.0000 |
| All Italy | services_level | -10 | 40 | -5.231000e-01 | 1.727000e-01 | 0.0024 |
| All Italy | services_level | -5 | 40 | 4.858000e-01 | 1.594000e-01 | 0.0023 |
| All Italy | services_level | 0 | 40 | 1.235700e+00 | 1.604000e-01 | 0.0000 |
| All Italy | services_level | 5 | 40 | -7.478000e-01 | 1.568000e-01 | 0.0000 |
| All Italy | services_level | 10 | 40 | -4.870000e-01 | 1.475000e-01 | 0.0010 |
| All Italy | services_level | 15 | 40 | 1.943000e-01 | 1.513000e-01 | 0.1990 |
| All Italy | services_level | 20 | 40 | 5.369000e-01 | 1.672000e-01 | 0.0013 |
| All Italy | services_level | 25 | 40 | -2.693000e-01 | 1.783000e-01 | 0.1310 |
| All Italy | services_level | 30 | 40 | -1.400000e-03 | 1.888000e-01 | 0.9940 |
| Lombardia | Admin_Tax_Emp | -30 | 40 | NA | NA | NA |
| Lombardia | Admin_Tax_Emp | -25 | 40 | NA | NA | NA |
| Lombardia | Admin_Tax_Emp | -20 | 40 | NA | NA | NA |
| Lombardia | Admin_Tax_Emp | -15 | 40 | -9.660000e-02 | 8.720000e-02 | 0.2683 |
| Lombardia | Admin_Tax_Emp | -10 | 40 | 5.060000e-02 | 7.460000e-02 | 0.4971 |
| Lombardia | Admin_Tax_Emp | -5 | 40 | 5.730000e-02 | 4.960000e-02 | 0.2479 |
| Lombardia | Admin_Tax_Emp | 0 | 40 | -5.290000e-02 | 4.530000e-02 | 0.2427 |
| Lombardia | Admin_Tax_Emp | 5 | 40 | -3.008000e-01 | 3.700000e-02 | 0.0000 |
| Lombardia | Admin_Tax_Emp | 10 | 40 | -7.920000e-02 | 4.360000e-02 | 0.0692 |
| Lombardia | Admin_Tax_Emp | 15 | 40 | 1.167000e-01 | 7.800000e-02 | 0.1345 |
| Lombardia | Admin_Tax_Emp | 20 | 40 | 5.171000e-01 | 1.491000e-01 | 0.0005 |
| Lombardia | Admin_Tax_Emp | 25 | 40 | -4.718000e-01 | 1.343000e-01 | 0.0004 |
| Lombardia | Admin_Tax_Emp | 30 | 40 | -8.040000e-02 | 8.470000e-02 | 0.3424 |
| Lombardia | Pillar2_pol | -30 | 40 | NA | NA | NA |
| Lombardia | Pillar2_pol | -25 | 40 | NA | NA | NA |
| Lombardia | Pillar2_pol | -20 | 40 | -3.246000e+00 | 2.670900e+00 | 0.2243 |
| Lombardia | Pillar2_pol | -15 | 40 | -3.357700e+00 | 1.408300e+00 | 0.0171 |
| Lombardia | Pillar2_pol | -10 | 40 | -1.255400e+00 | 1.233800e+00 | 0.3089 |
| Lombardia | Pillar2_pol | -5 | 40 | -2.223200e+00 | 1.099100e+00 | 0.0431 |
| Lombardia | Pillar2_pol | 0 | 40 | -1.374300e+00 | 1.039500e+00 | 0.1862 |
| Lombardia | Pillar2_pol | 5 | 40 | 9.294000e-01 | 7.230000e-01 | 0.1986 |
| Lombardia | Pillar2_pol | 10 | 40 | 5.252000e-01 | 6.883000e-01 | 0.4455 |
| Lombardia | Pillar2_pol | 15 | 40 | 1.273100e+00 | 7.117000e-01 | 0.0736 |
| Lombardia | Pillar2_pol | 20 | 40 | -4.325900e+00 | 7.418000e-01 | 0.0000 |
| Lombardia | Pillar2_pol | 25 | 40 | 1.300600e+00 | 7.790000e-01 | 0.0950 |
| Lombardia | Pillar2_pol | 30 | 40 | 8.873000e-01 | 8.246000e-01 | 0.2819 |
| Lombardia | PublS_CyclePath_per | -30 | 40 | NA | NA | NA |
| Lombardia | PublS_CyclePath_per | -25 | 40 | NA | NA | NA |
| Lombardia | PublS_CyclePath_per | -20 | 40 | -7.596000e-01 | 8.539000e-01 | 0.3737 |
| Lombardia | PublS_CyclePath_per | -15 | 40 | 9.110000e-02 | 5.062000e-01 | 0.8571 |
| Lombardia | PublS_CyclePath_per | -10 | 40 | -2.681000e+00 | 7.638000e-01 | 0.0004 |
| Lombardia | PublS_CyclePath_per | -5 | 40 | 3.469600e+00 | 8.920000e-01 | 0.0001 |
| Lombardia | PublS_CyclePath_per | 0 | 40 | 7.766000e-01 | 1.447300e+00 | 0.5915 |
| Lombardia | PublS_CyclePath_per | 5 | 40 | 9.180000e-01 | 9.311000e-01 | 0.3242 |
| Lombardia | PublS_CyclePath_per | 10 | 40 | 9.129000e-01 | 7.703000e-01 | 0.2360 |
| Lombardia | PublS_CyclePath_per | 15 | 40 | -2.614900e+00 | 8.076000e-01 | 0.0012 |
| Lombardia | PublS_CyclePath_per | 20 | 40 | 4.626000e-01 | 8.373000e-01 | 0.5806 |
| Lombardia | PublS_CyclePath_per | 25 | 40 | -4.273000e-01 | 8.132000e-01 | 0.5993 |
| Lombardia | PublS_CyclePath_per | 30 | 40 | -2.459000e-01 | 8.453000e-01 | 0.7711 |
| Lombardia | edu_emp_per1000 | -30 | 40 | NA | NA | NA |
| Lombardia | edu_emp_per1000 | -25 | 40 | NA | NA | NA |
| Lombardia | edu_emp_per1000 | -20 | 40 | NA | NA | NA |
| Lombardia | edu_emp_per1000 | -15 | 40 | -1.770000e-02 | 8.700000e-03 | 0.0435 |
| Lombardia | edu_emp_per1000 | -10 | 40 | -8.300000e-03 | 1.280000e-02 | 0.5174 |
| Lombardia | edu_emp_per1000 | -5 | 40 | -4.420000e-02 | 2.220000e-02 | 0.0471 |
| Lombardia | edu_emp_per1000 | 0 | 40 | -8.810000e-02 | 2.680000e-02 | 0.0010 |
| Lombardia | edu_emp_per1000 | 5 | 40 | 7.020000e-02 | 2.020000e-02 | 0.0005 |
| Lombardia | edu_emp_per1000 | 10 | 40 | -6.200000e-03 | 2.450000e-02 | 0.8010 |
| Lombardia | edu_emp_per1000 | 15 | 40 | -3.960000e-02 | 2.750000e-02 | 0.1505 |
| Lombardia | edu_emp_per1000 | 20 | 40 | 2.430000e-02 | 3.180000e-02 | 0.4450 |
| Lombardia | edu_emp_per1000 | 25 | 40 | 1.560000e-02 | 2.810000e-02 | 0.5787 |
| Lombardia | edu_emp_per1000 | 30 | 40 | -1.670000e-02 | 1.970000e-02 | 0.3955 |
| Lombardia | edu_muni_school_area_per1000 | -30 | 40 | NA | NA | NA |
| Lombardia | edu_muni_school_area_per1000 | -25 | 40 | NA | NA | NA |
| Lombardia | edu_muni_school_area_per1000 | -20 | 40 | 4.991500e+00 | 2.403000e+00 | 0.0378 |
| Lombardia | edu_muni_school_area_per1000 | -15 | 40 | -6.805300e+00 | 1.603900e+00 | 0.0000 |
| Lombardia | edu_muni_school_area_per1000 | -10 | 40 | -4.224900e+00 | 1.058000e+00 | 0.0001 |
| Lombardia | edu_muni_school_area_per1000 | -5 | 40 | 3.137100e+00 | 7.490000e-01 | 0.0000 |
| Lombardia | edu_muni_school_area_per1000 | 0 | 40 | 1.869200e+00 | 9.372000e-01 | 0.0461 |
| Lombardia | edu_muni_school_area_per1000 | 5 | 40 | -8.850000e-01 | 5.351000e-01 | 0.0982 |
| Lombardia | edu_muni_school_area_per1000 | 10 | 40 | 1.151300e+00 | 5.038000e-01 | 0.0223 |
| Lombardia | edu_muni_school_area_per1000 | 15 | 40 | -2.593000e-01 | 4.836000e-01 | 0.5919 |
| Lombardia | edu_muni_school_area_per1000 | 20 | 40 | -3.213700e+00 | 4.776000e-01 | 0.0000 |
| Lombardia | edu_muni_school_area_per1000 | 25 | 40 | -4.852000e-01 | 4.779000e-01 | 0.3099 |
| Lombardia | edu_muni_school_area_per1000 | 30 | 40 | -2.893000e-01 | 4.721000e-01 | 0.5400 |
| Lombardia | edu_serv_lvl | -30 | 40 | NA | NA | NA |
| Lombardia | edu_serv_lvl | -25 | 40 | NA | NA | NA |
| Lombardia | edu_serv_lvl | -20 | 40 | 7.153000e-01 | 3.704000e-01 | 0.0535 |
| Lombardia | edu_serv_lvl | -15 | 40 | 2.473000e-01 | 3.647000e-01 | 0.4977 |
| Lombardia | edu_serv_lvl | -10 | 40 | -1.894600e+00 | 3.759000e-01 | 0.0000 |
| Lombardia | edu_serv_lvl | -5 | 40 | -6.373000e-01 | 2.576000e-01 | 0.0134 |
| Lombardia | edu_serv_lvl | 0 | 40 | 1.158000e-01 | 2.597000e-01 | 0.6557 |
| Lombardia | edu_serv_lvl | 5 | 40 | 2.497000e-01 | 2.042000e-01 | 0.2214 |
| Lombardia | edu_serv_lvl | 10 | 40 | 9.569000e-01 | 2.010000e-01 | 0.0000 |
| Lombardia | edu_serv_lvl | 15 | 40 | -5.918000e-01 | 1.986000e-01 | 0.0029 |
| Lombardia | edu_serv_lvl | 20 | 40 | -6.061000e-01 | 2.067000e-01 | 0.0034 |
| Lombardia | edu_serv_lvl | 25 | 40 | -1.439000e-01 | 2.060000e-01 | 0.4849 |
| Lombardia | edu_serv_lvl | 30 | 40 | 9.300000e-03 | 2.059000e-01 | 0.9639 |
| Lombardia | evasione | -30 | 40 | NA | NA | NA |
| Lombardia | evasione | -25 | 40 | NA | NA | NA |
| Lombardia | evasione | -20 | 40 | 2.363400e+00 | 2.488000e+00 | 0.3422 |
| Lombardia | evasione | -15 | 40 | 3.661100e+00 | 1.015300e+00 | 0.0003 |
| Lombardia | evasione | -10 | 40 | 4.205100e+00 | 1.004500e+00 | 0.0000 |
| Lombardia | evasione | -5 | 40 | 6.170000e-02 | 8.200000e-01 | 0.9400 |
| Lombardia | evasione | 0 | 40 | -6.620000e-02 | 8.308000e-01 | 0.9365 |
| Lombardia | evasione | 5 | 40 | -2.324000e-01 | 4.583000e-01 | 0.6121 |
| Lombardia | evasione | 10 | 40 | -7.813000e-01 | 4.247000e-01 | 0.0658 |
| Lombardia | evasione | 15 | 40 | -1.689000e-01 | 4.323000e-01 | 0.6960 |
| Lombardia | evasione | 20 | 40 | 2.539900e+00 | 4.578000e-01 | 0.0000 |
| Lombardia | evasione | 25 | 40 | -1.599200e+00 | 4.868000e-01 | 0.0010 |
| Lombardia | evasione | 30 | 40 | -8.179000e-01 | 4.983000e-01 | 0.1007 |
| Lombardia | expend_level | -30 | 40 | NA | NA | NA |
| Lombardia | expend_level | -25 | 40 | NA | NA | NA |
| Lombardia | expend_level | -20 | 40 | 1.199800e+00 | 3.831000e-01 | 0.0017 |
| Lombardia | expend_level | -15 | 40 | 5.659000e-01 | 3.722000e-01 | 0.1284 |
| Lombardia | expend_level | -10 | 40 | -7.661000e-01 | 3.456000e-01 | 0.0266 |
| Lombardia | expend_level | -5 | 40 | -8.630000e-01 | 2.556000e-01 | 0.0007 |
| Lombardia | expend_level | 0 | 40 | 7.570000e-01 | 2.581000e-01 | 0.0034 |
| Lombardia | expend_level | 5 | 40 | -5.080000e-02 | 1.580000e-01 | 0.7479 |
| Lombardia | expend_level | 10 | 40 | 2.741000e-01 | 1.553000e-01 | 0.0777 |
| Lombardia | expend_level | 15 | 40 | 1.982000e-01 | 1.772000e-01 | 0.2634 |
| Lombardia | expend_level | 20 | 40 | -5.079000e-01 | 1.860000e-01 | 0.0063 |
| Lombardia | expend_level | 25 | 40 | -2.061000e-01 | 1.745000e-01 | 0.2377 |
| Lombardia | expend_level | 30 | 40 | 1.367000e+00 | 1.675000e-01 | 0.0000 |
| Lombardia | expenditure | -30 | 40 | NA | NA | NA |
| Lombardia | expenditure | -25 | 40 | NA | NA | NA |
| Lombardia | expenditure | -20 | 40 | -1.575181e+05 | 1.838620e+05 | 0.3916 |
| Lombardia | expenditure | -15 | 40 | 4.580354e+05 | 2.527029e+05 | 0.0699 |
| Lombardia | expenditure | -10 | 40 | 1.135609e+04 | 3.531286e+05 | 0.9743 |
| Lombardia | expenditure | -5 | 40 | -6.621972e+05 | 2.928470e+05 | 0.0237 |
| Lombardia | expenditure | 0 | 40 | -1.294804e+06 | 1.442799e+05 | 0.0000 |
| Lombardia | expenditure | 5 | 40 | -1.665005e+05 | 1.627168e+05 | 0.3062 |
| Lombardia | expenditure | 10 | 40 | 1.096587e+05 | 5.230459e+05 | 0.8339 |
| Lombardia | expenditure | 15 | 40 | 1.905644e+06 | 1.097258e+06 | 0.0824 |
| Lombardia | expenditure | 20 | 40 | 4.847774e+06 | 1.606246e+06 | 0.0025 |
| Lombardia | expenditure | 25 | 40 | -2.320052e+06 | 1.276253e+06 | 0.0691 |
| Lombardia | expenditure | 30 | 40 | -4.960393e+05 | 6.695548e+05 | 0.4588 |
| Lombardia | gb_intensity | -30 | 40 | NA | NA | NA |
| Lombardia | gb_intensity | -25 | 40 | NA | NA | NA |
| Lombardia | gb_intensity | -20 | 40 | 8.600000e-03 | 3.900000e-03 | 0.0288 |
| Lombardia | gb_intensity | -15 | 40 | 1.790000e-02 | 3.600000e-03 | 0.0000 |
| Lombardia | gb_intensity | -10 | 40 | -1.730000e-02 | 3.600000e-03 | 0.0000 |
| Lombardia | gb_intensity | -5 | 40 | -1.500000e-03 | 2.200000e-03 | 0.4773 |
| Lombardia | gb_intensity | 0 | 40 | 3.500000e-03 | 2.000000e-03 | 0.0776 |
| Lombardia | gb_intensity | 5 | 40 | 8.000000e-04 | 1.500000e-03 | 0.6259 |
| Lombardia | gb_intensity | 10 | 40 | 9.200000e-03 | 1.700000e-03 | 0.0000 |
| Lombardia | gb_intensity | 15 | 40 | 2.600000e-03 | 1.800000e-03 | 0.1429 |
| Lombardia | gb_intensity | 20 | 40 | -1.210000e-02 | 1.600000e-03 | 0.0000 |
| Lombardia | gb_intensity | 25 | 40 | -4.500000e-03 | 1.300000e-03 | 0.0004 |
| Lombardia | gb_intensity | 30 | 40 | 3.300000e-03 | 1.300000e-03 | 0.0116 |
| Lombardia | gb_reg_rate | -30 | 40 | NA | NA | NA |
| Lombardia | gb_reg_rate | -25 | 40 | NA | NA | NA |
| Lombardia | gb_reg_rate | -20 | 40 | 3.300000e-03 | 2.250000e-02 | 0.8820 |
| Lombardia | gb_reg_rate | -15 | 40 | -2.050000e-02 | 1.460000e-02 | 0.1615 |
| Lombardia | gb_reg_rate | -10 | 40 | -4.880000e-02 | 1.310000e-02 | 0.0002 |
| Lombardia | gb_reg_rate | -5 | 40 | -4.040000e-02 | 1.300000e-02 | 0.0018 |
| Lombardia | gb_reg_rate | 0 | 40 | 8.020000e-02 | 1.250000e-02 | 0.0000 |
| Lombardia | gb_reg_rate | 5 | 40 | 7.630000e-02 | 1.440000e-02 | 0.0000 |
| Lombardia | gb_reg_rate | 10 | 40 | -6.020000e-02 | 1.280000e-02 | 0.0000 |
| Lombardia | gb_reg_rate | 15 | 40 | -1.480000e-02 | 1.250000e-02 | 0.2354 |
| Lombardia | gb_reg_rate | 20 | 40 | -3.460000e-02 | 1.400000e-02 | 0.0137 |
| Lombardia | gb_reg_rate | 25 | 40 | 6.320000e-02 | 1.620000e-02 | 0.0001 |
| Lombardia | gb_reg_rate | 30 | 40 | 7.220000e-02 | 1.770000e-02 | 0.0000 |
| Lombardia | income | -30 | 40 | NA | NA | NA |
| Lombardia | income | -25 | 40 | NA | NA | NA |
| Lombardia | income | -20 | 40 | -2.572292e+07 | 3.265561e+07 | 0.4309 |
| Lombardia | income | -15 | 40 | 5.778366e+07 | 2.821561e+07 | 0.0406 |
| Lombardia | income | -10 | 40 | 1.551929e+07 | 3.932325e+07 | 0.6931 |
| Lombardia | income | -5 | 40 | -6.996220e+07 | 3.262107e+07 | 0.0320 |
| Lombardia | income | 0 | 40 | -1.597944e+08 | 1.689269e+07 | 0.0000 |
| Lombardia | income | 5 | 40 | -2.945151e+07 | 1.756364e+07 | 0.0936 |
| Lombardia | income | 10 | 40 | 2.064159e+07 | 5.746486e+07 | 0.7194 |
| Lombardia | income | 15 | 40 | 2.266632e+08 | 1.213928e+08 | 0.0619 |
| Lombardia | income | 20 | 40 | 5.374229e+08 | 1.778245e+08 | 0.0025 |
| Lombardia | income | 25 | 40 | -2.729822e+08 | 1.411699e+08 | 0.0531 |
| Lombardia | income | 30 | 40 | -6.860914e+07 | 7.315652e+07 | 0.3483 |
| Lombardia | incomepc | -30 | 40 | NA | NA | NA |
| Lombardia | incomepc | -25 | 40 | NA | NA | NA |
| Lombardia | incomepc | -20 | 40 | -2.063234e+03 | 4.241674e+02 | 0.0000 |
| Lombardia | incomepc | -15 | 40 | -5.312796e+02 | 2.245492e+02 | 0.0180 |
| Lombardia | incomepc | -10 | 40 | -1.132407e+03 | 2.687176e+02 | 0.0000 |
| Lombardia | incomepc | -5 | 40 | 1.388767e+02 | 2.550851e+02 | 0.5861 |
| Lombardia | incomepc | 0 | 40 | 1.288767e+03 | 2.531422e+02 | 0.0000 |
| Lombardia | incomepc | 5 | 40 | 1.750214e+02 | 2.259083e+02 | 0.4385 |
| Lombardia | incomepc | 10 | 40 | 8.637562e+02 | 2.677281e+02 | 0.0013 |
| Lombardia | incomepc | 15 | 40 | -1.613312e+03 | 2.736305e+02 | 0.0000 |
| Lombardia | incomepc | 20 | 40 | -1.649290e+03 | 2.834907e+02 | 0.0000 |
| Lombardia | incomepc | 25 | 40 | 1.585662e+02 | 2.846325e+02 | 0.5775 |
| Lombardia | incomepc | 30 | 40 | 1.989750e+03 | 2.624977e+02 | 0.0000 |
| Lombardia | marr_civil | -30 | 40 | NA | NA | NA |
| Lombardia | marr_civil | -25 | 40 | NA | NA | NA |
| Lombardia | marr_civil | -20 | 40 | -1.110500e+00 | 2.864000e+00 | 0.6982 |
| Lombardia | marr_civil | -15 | 40 | 1.486200e+00 | 2.167000e+00 | 0.4928 |
| Lombardia | marr_civil | -10 | 40 | 3.339700e+00 | 2.783500e+00 | 0.2302 |
| Lombardia | marr_civil | -5 | 40 | 1.398200e+00 | 2.390200e+00 | 0.5586 |
| Lombardia | marr_civil | 0 | 40 | -1.011730e+01 | 1.811100e+00 | 0.0000 |
| Lombardia | marr_civil | 5 | 40 | -3.856400e+00 | 1.514000e+00 | 0.0109 |
| Lombardia | marr_civil | 10 | 40 | 2.508500e+00 | 4.083800e+00 | 0.5390 |
| Lombardia | marr_civil | 15 | 40 | 1.694290e+01 | 8.386200e+00 | 0.0433 |
| Lombardia | marr_civil | 20 | 40 | 3.625290e+01 | 1.221840e+01 | 0.0030 |
| Lombardia | marr_civil | 25 | 40 | -1.616830e+01 | 9.714400e+00 | 0.0960 |
| Lombardia | marr_civil | 30 | 40 | -7.156900e+00 | 5.141700e+00 | 0.1639 |
| Lombardia | marr_rel | -30 | 40 | NA | NA | NA |
| Lombardia | marr_rel | -25 | 40 | NA | NA | NA |
| Lombardia | marr_rel | -20 | 40 | -1.723900e+00 | 1.318200e+00 | 0.1909 |
| Lombardia | marr_rel | -15 | 40 | -2.610000e-02 | 8.839000e-01 | 0.9764 |
| Lombardia | marr_rel | -10 | 40 | -1.340000e-02 | 9.534000e-01 | 0.9888 |
| Lombardia | marr_rel | -5 | 40 | 6.924000e-01 | 8.570000e-01 | 0.4191 |
| Lombardia | marr_rel | 0 | 40 | -5.052900e+00 | 9.668000e-01 | 0.0000 |
| Lombardia | marr_rel | 5 | 40 | -5.660000e-02 | 6.712000e-01 | 0.9328 |
| Lombardia | marr_rel | 10 | 40 | 9.098000e-01 | 1.396100e+00 | 0.5146 |
| Lombardia | marr_rel | 15 | 40 | 4.152600e+00 | 2.643500e+00 | 0.1162 |
| Lombardia | marr_rel | 20 | 40 | 9.676000e+00 | 3.785400e+00 | 0.0106 |
| Lombardia | marr_rel | 25 | 40 | -4.743200e+00 | 3.023100e+00 | 0.1167 |
| Lombardia | marr_rel | 30 | 40 | -2.403400e+00 | 1.681600e+00 | 0.1529 |
| Lombardia | pol_mun_road | -30 | 40 | NA | NA | NA |
| Lombardia | pol_mun_road | -25 | 40 | NA | NA | NA |
| Lombardia | pol_mun_road | -20 | 40 | -3.134010e+01 | 1.316160e+01 | 0.0173 |
| Lombardia | pol_mun_road | -15 | 40 | -5.728600e+00 | 4.252000e+00 | 0.1779 |
| Lombardia | pol_mun_road | -10 | 40 | 1.771900e+00 | 4.775900e+00 | 0.7106 |
| Lombardia | pol_mun_road | -5 | 40 | 7.621700e+00 | 4.733200e+00 | 0.1073 |
| Lombardia | pol_mun_road | 0 | 40 | -3.782250e+01 | 6.504100e+00 | 0.0000 |
| Lombardia | pol_mun_road | 5 | 40 | 5.715700e+00 | 3.598000e+00 | 0.1122 |
| Lombardia | pol_mun_road | 10 | 40 | -1.268400e+00 | 5.877100e+00 | 0.8291 |
| Lombardia | pol_mun_road | 15 | 40 | 1.348130e+01 | 9.698300e+00 | 0.1645 |
| Lombardia | pol_mun_road | 20 | 40 | 2.383720e+01 | 1.345960e+01 | 0.0766 |
| Lombardia | pol_mun_road | 25 | 40 | -1.550490e+01 | 1.081930e+01 | 0.1518 |
| Lombardia | pol_mun_road | 30 | 40 | -4.782600e+00 | 6.554700e+00 | 0.4656 |
| Lombardia | services_level | -30 | 40 | NA | NA | NA |
| Lombardia | services_level | -25 | 40 | NA | NA | NA |
| Lombardia | services_level | -20 | 40 | 1.307100e+00 | 3.560000e-01 | 0.0002 |
| Lombardia | services_level | -15 | 40 | -1.268400e+00 | 4.657000e-01 | 0.0065 |
| Lombardia | services_level | -10 | 40 | -7.098000e-01 | 3.886000e-01 | 0.0678 |
| Lombardia | services_level | -5 | 40 | 4.170000e-01 | 3.016000e-01 | 0.1668 |
| Lombardia | services_level | 0 | 40 | 1.082300e+00 | 2.984000e-01 | 0.0003 |
| Lombardia | services_level | 5 | 40 | -9.769000e-01 | 1.807000e-01 | 0.0000 |
| Lombardia | services_level | 10 | 40 | -3.754000e-01 | 1.613000e-01 | 0.0199 |
| Lombardia | services_level | 15 | 40 | 4.812000e-01 | 1.583000e-01 | 0.0024 |
| Lombardia | services_level | 20 | 40 | 6.732000e-01 | 1.753000e-01 | 0.0001 |
| Lombardia | services_level | 25 | 40 | -2.006000e-01 | 1.867000e-01 | 0.2828 |
| Lombardia | services_level | 30 | 40 | 4.600000e-02 | 1.925000e-01 | 0.8113 |
# 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_PLACEBO, " km)")
) +
theme_minimal(base_size = 12)
print(p)
}