Purpose

This R Markdown replicates the RD estimations from the Python workflow using the merged CSV (All_italy_df_merged.csv) and implements a manual running-variable override for a specific list of municipalities (via TreatedControl_Distance_AsCrowFlies_Manual.xlsx).

It then runs the same RD sequence for three samples:

  1. Full Italy with regional fixed effects (region dummies via covs= in rdrobust(); and region-residualized plots).
  2. Lombardia only (ireg == 3) without regional fixed effects.
  3. Lombardia square subsample (constructed from the in-memory Lombardia data, using the baseline square footprint from square_df_merged.csv, expanded by TARGET_AREA_SCALE), without regional fixed effects.

Common settings:

Inputs

# 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"

# BASELINE SQUARE FOOTPRINT (CSV) for the Lombardia "square" subsample
BASE_SQUARE_PATH <- "/Users/murugesana/Dropbox/Research/history_behavior/Experimental_Institutions/R/data/RDD_MERGED_CSVS/square_df_merged.csv"

# Lombardia constants (region code)
REGION_CODE_LOMBARDIA <- 3

# Lombardia square expansion knob (AREA scale relative to baseline footprint)
TARGET_AREA_SCALE <- 1.25

# CRS for distance-preserving square construction (meters)
UTM_EPSG <- 32632  # UTM zone 32N

OUTDIR <- "output"
dir.create(OUTDIR, showWarnings = FALSE)

RUNNING <- "distance_treated_positive_x" # km
REGION  <- "COD_REG"

# Manual bandwidths (requested)
BWS_KM  <- c(30, 40, 50)

# Difference-in-means bandwidth (requested)
H_DM <- 40  # km

P       <- 1

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"
)

YEARS <- c(2010, 2020)


# --- NEW: placebo & donut settings ---
# Placebo cutoffs (km) to move the cutoff inside treated (-) and control (+) sides
PLACEBO_KM_SEQ <- seq(10, 30, by = 5)  # 10,15,20,25,30

# Donut settings (km)
# Full Italy: exclude 5 km around the cutoff -> 2.5 km on either side
DONUT_FULL_SYM_KM <- 2.5

# Lombardia + Square: exclude only 2.5 km on the treated side (keep all control side)
DONUT_TREATED_ONLY_KM <- 2.5

# Outputs (placebo & donut)
placebo_csv_all <- file.path(OUTDIR, "placebo_curve_All_Italy_regFE.csv")
placebo_pdf_all <- file.path(OUTDIR, "placebo_curve_All_Italy_regFE.pdf")

donut_csv_all   <- file.path(OUTDIR, "rdrobust_results_All_Italy_regFE_DONUT5km.csv")
donut_csv_lomb  <- file.path(OUTDIR, "rdrobust_results_Lombardia_noFE_DONUT_treated2p5.csv")
donut_csv_sq    <- file.path(OUTDIR, sprintf("rdrobust_results_LombardiaSquare_area_x%0.2f_noFE_DONUT_treated2p5.csv", TARGET_AREA_SCALE))

Load data and apply manual distance overrides

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

# key column (municipality id)
KEYCOL <- if ("istat" %in% names(df0)) "istat" else if ("ISTAT" %in% names(df0)) "ISTAT" else stop("No istat/ISTAT column found.")

# ensure expected columns exist
stopifnot(RUNNING %in% names(df0), REGION %in% names(df0))

# region as factor (fixed effects)
df0 <- df0 %>% mutate(.region_fe = factor(.data[[REGION]]))
# convenience alias to match older scripts
if (!("ireg" %in% names(df0))) df0 <- df0 %>% mutate(ireg = as.integer(.data[[REGION]]))

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

# Expected columns in manual file:
# COD_REG, COMUNE, Treated, distance_updated
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(
    COD_REG = as.integer(.data[[REGION]]),
    Treated = as.integer(Treated),
    COMUNE_clean = stringr::str_squish(stringr::str_to_upper(as.character(COMUNE)))
  ) %>%
  left_join(manual, by = c("COD_REG", "Treated", "COMUNE_clean")) %>%
  mutate(
    .running_original = .data[[RUNNING]],
    # overwrite where manual distance exists
    "{RUNNING}" := dplyr::if_else(!is.na(distance_updated), distance_updated, .data[[RUNNING]]),
    .running_overwritten = !is.na(distance_updated)
  )

cat("Manual distance overrides applied:\n")
## Manual distance overrides applied:
df0 %>%
  summarise(
    n_rows = n(),
    n_overwritten_rows = sum(.running_overwritten, na.rm = TRUE),
    n_overwritten_muni = n_distinct(.data[[KEYCOL]][.running_overwritten]),
    n_regions = n_distinct(.region_fe),
    years = if ("year" %in% names(df0)) paste(sort(unique(year)), collapse = ", ") else NA_character_
  ) %>%
  print()
## # A tibble: 1 × 5
##   n_rows n_overwritten_rows n_overwritten_muni n_regions years     
##    <int>              <int>              <int>     <int> <chr>     
## 1   7080                 68                 34         8 2010, 2020
# Optional: inspect which municipalities were overwritten
df0 %>%
  filter(.running_overwritten) %>%
  distinct(COD_REG, COMUNE, Treated, .running_original, !!sym(RUNNING)) %>%
  arrange(COD_REG, COMUNE) %>%
  head(25) %>%
  print()
## # A tibble: 25 × 5
##    COD_REG COMUNE            Treated .running_original distance_treated_positi…¹
##      <int> <chr>               <int>             <dbl>                     <dbl>
##  1       3 Albiolo                 1            -25.3                      28.4 
##  2       3 Albuzzano               1             -3.67                      3.67
##  3       3 Belgioioso              1             -2.67                      2.67
##  4       3 Bereguardo              1             -2.76                      2.76
##  5       3 Borgo San Siro          0              5.23                     -6.67
##  6       3 Campione d'Italia       1            -22.1                      22.1 
##  7       3 Ceranova                1             -1.91                     10.9 
##  8       3 Copiano                 1             -2.07                      8.31
##  9       3 Cura Carpignano         1             -2.55                      6.3 
## 10       3 Faloppio                1            -27.3                      31.6 
## # ℹ 15 more rows
## # ℹ abbreviated name: ¹​distance_treated_positive_x

Helper functions

collapse_one_row_per_muni <- function(d, keycol, xcol, ycol, keep_year = FALSE) {
  # Collapses to one row per municipality (mean across duplicates).
  # Also carries Treated (or Treated_num) and COD_PROV when available.
  gvars <- c(keycol)
  if (keep_year && ("year" %in% names(d))) gvars <- c(gvars, "year")

  d %>%
    group_by(across(all_of(gvars))) %>%
    summarise(
      X = mean(.data[[xcol]], na.rm = TRUE),
      Y = mean(.data[[ycol]], na.rm = TRUE),
      Treated = dplyr::first(
        if ("Treated" %in% names(d)) as.integer(.data[["Treated"]])
        else if ("Treated_num" %in% names(d)) as.integer(.data[["Treated_num"]])
        else NA_integer_
      ),
      COD_PROV = dplyr::first(if ("COD_PROV" %in% names(d)) as.integer(.data[["COD_PROV"]]) else NA_integer_),
      .region_fe = dplyr::first(if (".region_fe" %in% names(d)) .data[[".region_fe"]] else NA),
      .groups = "drop"
    )
}


make_sub <- function(d, h) {
  # Filter to bandwidth window and drop missing (requires .region_fe).
  sub <- d %>%
    filter(!is.na(X), !is.na(Y), !is.na(.region_fe),
           dplyr::between(X, -h, h))

  if (nrow(sub) < 30) return(NULL)
  if (stats::sd(sub$X, na.rm = TRUE) == 0) return(NULL)
  if (sum(sub$X < 0) < 10 || sum(sub$X >= 0) < 10) return(NULL)

  sub
}

make_sub_noFE <- function(d, h) {
  # Filter to bandwidth window and drop missing (NO FE requirement).
  sub <- d %>%
    filter(!is.na(X), !is.na(Y),
           dplyr::between(X, -h, h))

  if (nrow(sub) < 30) return(NULL)
  if (stats::sd(sub$X, na.rm = TRUE) == 0) return(NULL)
  if (sum(sub$X < 0) < 10 || sum(sub$X >= 0) < 10) return(NULL)

  sub
}

make_sub_full <- function(d) {
  # Drop missing but DO NOT bandwidth-trim (used for data-driven bandwidth selection; with FE requirement).
  sub <- d %>% filter(!is.na(X), !is.na(Y), !is.na(.region_fe))

  if (nrow(sub) < 30) return(NULL)
  if (stats::sd(sub$X, na.rm = TRUE) == 0) return(NULL)
  if (sum(sub$X < 0) < 10 || sum(sub$X >= 0) < 10) return(NULL)

  sub
}

make_sub_full_noFE <- function(d) {
  # Drop missing but DO NOT bandwidth-trim (used for data-driven bandwidth selection; no FE requirement).
  sub <- d %>% filter(!is.na(X), !is.na(Y))

  if (nrow(sub) < 30) return(NULL)
  if (stats::sd(sub$X, na.rm = TRUE) == 0) return(NULL)
  if (sum(sub$X < 0) < 10 || sum(sub$X >= 0) < 10) return(NULL)

  sub
}

region_covs <- function(sub) {
  # region dummies (no intercept) for rdrobust(covs=...)
  stats::model.matrix(~ .region_fe - 1, data = sub)
}

residualize_region <- function(y, sub) {
  # partial out region FE for plotting convenience
  stats::residuals(stats::lm(y ~ .region_fe, data = sub))
}

extract_rdrobust <- function(rb, outcome, h, sample, year = NA_integer_, h_type = "MANUAL") {
  tibble::tibble(
    sample = sample,
    outcome = outcome,
    year = year,
    h_type = h_type,          # MANUAL vs AUTO
    h_km = h,                 # manual h, NA for AUTO
    p = P,
    N = if (!is.null(rb$N)) sum(rb$N) else NA_integer_,
    N_left  = if (!is.null(rb$N)) rb$N[1] else NA_integer_,
    N_right = if (!is.null(rb$N)) rb$N[2] else NA_integer_,
    bw_left  = if (!is.null(rb$bws)) rb$bws[1] else NA_real_,
    bw_right = if (!is.null(rb$bws)) rb$bws[2] else NA_real_,
    coef = list(rb$coef),
    se   = list(rb$se),
    pv   = list(rb$pv),
    ci   = list(rb$ci)
  )
}


safe_rdrobust <- function(y, x, ..., label = "") {
  # Wrapper to avoid hard stops from rdrobust numerical failures (e.g., non-PD matrices).
  # Returns NULL on error and prints the error to the current output connection (sink-safe).
  tryCatch(
    rdrobust::rdrobust(y, x, ...),
    error = function(e) {
      cat("[Skip rdrobust ERROR] ", label, " : ", conditionMessage(e), "\n", sep = "")
      return(NULL)
    }
  )
}


diff_means_test <- function(d, h, treated_col = "Treated") {
  # Difference in means (treated - control) within |X| <= h, using Welch two-sample t-test.
  sub <- d %>%
    filter(!is.na(X), !is.na(Y), !is.na(.data[[treated_col]]),
           dplyr::between(X, -h, h)) %>%
    mutate(.tr = as.integer(.data[[treated_col]]))

  if (!all(c(0L, 1L) %in% unique(sub$.tr))) return(NULL)

  y1 <- sub$Y[sub$.tr == 1L]
  y0 <- sub$Y[sub$.tr == 0L]
  n1 <- sum(sub$.tr == 1L)
  n0 <- sum(sub$.tr == 0L)

  if (n1 < 5 || n0 < 5) return(NULL)

  m1 <- mean(y1, na.rm = TRUE)
  m0 <- mean(y0, na.rm = TRUE)
  s1 <- stats::var(y1, na.rm = TRUE)
  s0 <- stats::var(y0, na.rm = TRUE)

  se <- sqrt(s1 / n1 + s0 / n0)

  tt <- stats::t.test(Y ~ .tr, data = sub)  # Welch by default

  tibble::tibble(
    h_km = h,
    n_treated = n1,
    n_control = n0,
    mean_treated = m1,
    mean_control = m0,
    diff_treat_minus_control = m1 - m0,
    se_diff = se,
    t_stat = unname(tt$statistic),
    df = unname(tt$parameter),
    p_value = tt$p.value
  )
}



diff_means_test_regFE <- function(d, h, treated_col = "Treated") {
  # Difference in means (treated - control) within |X| <= h,
  # controlling for region fixed effects via OLS: Y ~ treated + region FE.
  # Returns the coefficient on treated (treated-control adjusted for region FE).
  sub <- d %>%
    filter(!is.na(X), !is.na(Y), !is.na(.region_fe), !is.na(.data[[treated_col]]),
           dplyr::between(X, -h, h)) %>%
    mutate(.tr = as.integer(.data[[treated_col]]))

  if (!all(c(0L, 1L) %in% unique(sub$.tr))) return(NULL)
  if (sum(sub$.tr == 1L) < 5 || sum(sub$.tr == 0L) < 5) return(NULL)

  fit <- stats::lm(Y ~ .tr + .region_fe, data = sub)
  coefs <- summary(fit)$coefficients

  if (!(".tr" %in% rownames(coefs))) return(NULL)

  tibble::tibble(
    h_km = h,
    diff_fe = as.numeric(coefs[".tr", "Estimate"]),
    se_fe   = as.numeric(coefs[".tr", "Std. Error"]),
    t_fe    = as.numeric(coefs[".tr", "t value"]),
    df_fe   = as.numeric(stats::df.residual(fit)),
    p_fe    = as.numeric(coefs[".tr", "Pr(>|t|)"])
  )
}

diff_means_sign_test <- function(d) {
  # Difference in means (X>=0 - X<0) using Welch two-sample t-test.
  # Intended for within-square comparisons where "treated" is defined by the sign of the running variable.
  sub <- d %>%
    filter(!is.na(X), !is.na(Y)) %>%
    mutate(.side = if_else(X >= 0, 1L, 0L))

  if (!all(c(0L, 1L) %in% unique(sub$.side))) return(NULL)

  y_pos <- sub$Y[sub$.side == 1L]  # X >= 0
  y_neg <- sub$Y[sub$.side == 0L]  # X < 0
  n_pos <- sum(sub$.side == 1L)
  n_neg <- sum(sub$.side == 0L)

  if (n_pos < 5 || n_neg < 5) return(NULL)

  m_pos <- mean(y_pos, na.rm = TRUE)
  m_neg <- mean(y_neg, na.rm = TRUE)
  s_pos <- stats::var(y_pos, na.rm = TRUE)
  s_neg <- stats::var(y_neg, na.rm = TRUE)

  se <- sqrt(s_pos / n_pos + s_neg / n_neg)

  tt <- stats::t.test(Y ~ .side, data = sub)  # Welch by default

  tibble::tibble(
    n_pos = n_pos,
    n_neg = n_neg,
    mean_pos = m_pos,
    mean_neg = m_neg,
    diff_pos_minus_neg = m_pos - m_neg,
    se_diff = se,
    t_stat = unname(tt$statistic),
    df = unname(tt$parameter),
    p_value = tt$p.value
  )
}


# --- NEW: Donut filters ---
apply_donut_symmetric <- function(d, donut_km) {
  # Drop observations with |X| < donut_km on BOTH sides
  d %>% filter(!is.na(X), abs(X) >= donut_km)
}

apply_donut_treated_only <- function(d, donut_km) {
  # Drop only treated-side observations close to cutoff: X in [-donut_km, 0)
  d %>% filter(!is.na(X), !(X < 0 & X > -donut_km))
}

# --- NEW: Placebo curve runner (continuity-based) ---
run_placebo_curve <- function(y, x, covs = NULL, placebo_km_seq = seq(10, 30, by = 5),
                              p = 1, label_prefix = "") {

  cutoffs <- c(-placebo_km_seq, placebo_km_seq) %>% sort()

  res <- lapply(cutoffs, function(c0) {
    rb <- safe_rdrobust(y, x, c = c0, p = p,
                        covs = covs,
                        label = paste0(label_prefix, " c=", c0))

    if (is.null(rb)) return(NULL)

    # rdrobust stores coef/se/pv/ci as vectors/matrices; we use the first (conventional) entry
    est <- as.numeric(rb$coef[1])
    se  <- as.numeric(rb$se[1])
    pv  <- as.numeric(rb$pv[1])

    ci_low <- NA_real_
    ci_high <- NA_real_
    if (!is.null(rb$ci)) {
      ci_low  <- as.numeric(rb$ci[1, 1])
      ci_high <- as.numeric(rb$ci[1, 2])
    }

    tibble::tibble(
      placebo_cutoff_km = c0,
      estimate = est,
      se = se,
      p_value = pv,
      ci_low = ci_low,
      ci_high = ci_high,
      N_left = if (!is.null(rb$N)) rb$N[1] else NA_integer_,
      N_right = if (!is.null(rb$N)) rb$N[2] else NA_integer_
    )
  })

  out <- dplyr::bind_rows(res)

  if (nrow(out) == 0) return(out)

  # Multiple-testing adjustments across placebo cutoffs (within this outcome/year/spec)
  out <- out %>%
    mutate(
      p_holm = p.adjust(p_value, method = "holm"),
      p_bh   = p.adjust(p_value, method = "BH")
    ) %>%
    arrange(placebo_cutoff_km)

  out
}

plot_placebo_curve <- function(placebo_df, outcome, year = NA, sample = "FULL_ITALY",
                               subtitle = "Placebo cutoffs: ±10–30 km") {
  if (nrow(placebo_df) == 0) return(NULL)

  ttl <- if (!is.na(year)) {
    paste0(outcome, " | Year=", year, " | ", sample, " | Placebo curve")
  } else {
    paste0(outcome, " | ", sample, " | Placebo curve")
  }

  ggplot(placebo_df, aes(x = placebo_cutoff_km, y = estimate)) +
    geom_hline(yintercept = 0) +
    geom_vline(xintercept = 0, linetype = 2) +
    geom_errorbar(aes(ymin = ci_low, ymax = ci_high), width = 0) +
    geom_point() +
    labs(
      title = ttl,
      subtitle = subtitle,
      x = "Artificial cutoff (km; 0 = true cutoff)",
      y = "Estimated discontinuity (rdrobust)"
    ) +
    theme_minimal()
}

Run All-Italy RD with regional fixed effects (post distance update)

# Output files (All Italy / Lombardia / Lombardia-square)
plots_pdf_all    <- file.path(OUTDIR, "RD_plots_All_Italy_regFE_manualDistance.pdf")
plots_pdf_lomb   <- file.path(OUTDIR, "RD_plots_Lombardia_noFE_manualDistance.pdf")
plots_pdf_square <- file.path(OUTDIR, sprintf("RD_plots_LombardiaSquare_area_x%0.2f_noFE_manualDistance.pdf", TARGET_AREA_SCALE))

results_csv       <- file.path(OUTDIR, "rdrobust_results_All_Italy_Lombardia_Square_manualDistance.csv")
results_txt_all   <- file.path(OUTDIR, "rdrobust_printout_All_Italy_regFE_manualDistance.txt")
results_txt_lomb  <- file.path(OUTDIR, "rdrobust_printout_Lombardia_noFE_manualDistance.txt")
results_txt_sq    <- file.path(OUTDIR, sprintf("rdrobust_printout_LombardiaSquare_area_x%0.2f_noFE_manualDistance.txt", TARGET_AREA_SCALE))

# Difference-in-means outputs (h = 40 km)
dm_csv_all40   <- file.path(OUTDIR, "diffmeans_FullItaly_h40.csv")
dm_csv_lomb40  <- file.path(OUTDIR, "diffmeans_Lombardia_h40.csv")
dm_csv_sq40    <- file.path(OUTDIR, "diffmeans_LombardiaSquare_h40.csv")
dm_csv_sqsign  <- file.path(OUTDIR, "diffmeans_LombardiaSquare_sign.csv")

# accumulator across samples
all_results <- list()
# --- FULL ITALY SECTION ---
sink(results_txt_all, split = TRUE)

cat("Using DF: All_italy_df_merged (post manual distance overwrite) | rows=", nrow(df0),
    " | key=", KEYCOL,
    " | yearcol=", ifelse("year" %in% names(df0), "year", NA),
    "\n", sep = "")
## Using DF: All_italy_df_merged (post manual distance overwrite) | rows=7080 | key=istat | yearcol=year
cat("Running var: ", RUNNING, " (KM) | manual bandwidths=", paste(BWS_KM, collapse = ", "),
    " | p=", P, "\n\n", sep = "")
## Running var: distance_treated_positive_x (KM) | manual bandwidths=30, 40, 50 | p=1
pdf(plots_pdf_all, width = 6, height = 4.5)

# Difference-in-means accumulator (Full Italy) at h = 40 km
all_dm40 <- list()

for (yvar in OUTCOMES) {

  if (!(yvar %in% names(df0))) {
    cat("\n[Skip] Missing outcome: ", yvar, "\n", sep = "")
    next
  }

  # --- Pillar2_pol: run separately by year (2010/2020) ---
  if (yvar == "Pillar2_pol" && ("year" %in% names(df0))) {

    for (yr in YEARS) {

      dY <- df0 %>% filter(year == yr)
      d1 <- collapse_one_row_per_muni(dY, keycol = KEYCOL, xcol = RUNNING, ycol = yvar, keep_year = FALSE)

# Difference in means within |X| <= 40 km (Full Italy):
#   (i) raw Welch t-test
#   (ii) OLS controlling for region FE (Y ~ Treated + region dummies)
dm <- diff_means_test(d1, h = H_DM)
dm_fe <- diff_means_test_regFE(d1, h = H_DM)

if (!is.null(dm)) {
  dm_out <- dm
  if (!is.null(dm_fe)) {
    dm_out <- dplyr::left_join(dm_out, dm_fe, by = "h_km")
  } else {
    dm_out <- dm_out %>% mutate(diff_fe = NA_real_, se_fe = NA_real_, t_fe = NA_real_, df_fe = NA_real_, p_fe = NA_real_)
  }

  all_dm40[[length(all_dm40) + 1]] <- dm_out %>%
    mutate(sample = "FULL_ITALY_regFE", outcome = yvar, year = yr)

  cat("[Full Italy diff-means] h=", H_DM, " km | outcome=", yvar, " | year=", yr,
      " | diff=", signif(dm_out$diff_treat_minus_control, 4),
      " | p=", signif(dm_out$p_value, 4),
      " | diff_FE=", signif(dm_out$diff_fe, 4),
      " | p_FE=", signif(dm_out$p_fe, 4),
      " | N_t=", dm_out$n_treated, " N_c=", dm_out$n_control, "\n", sep = "")
} else {
  cat("[Full Italy diff-means] Skip: insufficient treated/control data within ±", H_DM,
      " km for outcome=", yvar, " year=", yr, "\n", sep = "")
}

cat("\n", strrep("=", 110), "\n", sep = "")
      cat("Outcome: ", yvar, " | Year=", yr, " | FULL ITALY | p=", P, " | X in KM | REGION FE\n", sep = "")
      cat(strrep("=", 110), "\n", sep = "")

      # 1) RD plots (raw + region-adjusted) for MANUAL bandwidths
      for (h in BWS_KM) {
        sub <- make_sub(d1, h)
        if (is.null(sub)) {
          cat("[Skip plot] ", yvar, " Year=", yr, " h=", h, "km: too little usable data/variation\n", sep = "")
          next
        }

        rdplot(sub$Y, sub$X, h = h, p = P, binselect = "esmv",
               x.label = "Distance to Cutoff (km)",
               y.label = yvar,
               title = paste0(yvar, " | Year=", yr, " | raw | h=", h, " km"))

        Y_adj <- residualize_region(sub$Y, sub)
        rdplot(Y_adj, sub$X, h = h, p = P, binselect = "esmv",
               x.label = "Distance to Cutoff (km)",
               y.label = paste0(yvar, " (adj. region FE)"),
               title = paste0(yvar, " | Year=", yr, " | region FE residual | h=", h, " km"))
      }

      # 2) RD tables (MANUAL bandwidths; with region FE via covs)
      for (h in BWS_KM) {
        sub <- make_sub(d1, h)
        if (is.null(sub)) {
          cat("[Skip rdrobust] ", yvar, " Year=", yr, " h=", h, "km: too little usable data/variation\n", sep = "")
          next
        }

        covs <- region_covs(sub)

        cat("\n", strrep("-", 90), "\n", sep = "")
        cat("RDROBUST — ", yvar, " | Year=", yr, " | h=", h, " km | p=", P,
            " | N used=", nrow(sub), " | + REGION FE\n", sep = "")
        cat(strrep("-", 90), "\n", sep = "")

        rb <- rdrobust(sub$Y, sub$X, h = h, p = P, covs = covs)
        print(summary(rb))

        all_results[[length(all_results) + 1]] <- extract_rdrobust(rb, outcome = yvar, h = h, sample = "FULL_ITALY", year = yr, h_type = "MANUAL")
      }

      # 3) RD table (AUTO bandwidth; rdrobust selects bws)
      sub_full <- make_sub_full(d1)
      if (is.null(sub_full)) {
        cat("[Skip AUTO rdrobust] ", yvar, " Year=", yr, ": too little usable data/variation\n", sep = "")
      } else {

        covs_full <- region_covs(sub_full)

        cat("\n", strrep("-", 90), "\n", sep = "")
        cat("RDROBUST — ", yvar, " | Year=", yr, " | AUTO bandwidth (default) | p=", P,
            " | N used=", nrow(sub_full), " | + REGION FE\n", sep = "")
        cat(strrep("-", 90), "\n", sep = "")

        rb_auto <- rdrobust(sub_full$Y, sub_full$X, p = P, covs = covs_full)
        print(summary(rb_auto))

        all_results[[length(all_results) + 1]] <-
          extract_rdrobust(rb_auto, outcome = yvar, h = NA_real_, sample = "FULL_ITALY", year = yr, h_type = "AUTO")

        # Optional plots using h_plot = max(selected bws)
        if (!is.null(rb_auto$bws) && all(is.finite(rb_auto$bws))) {
          h_plot <- max(rb_auto$bws)

          sub_plot <- make_sub(d1, h_plot)
          if (!is.null(sub_plot)) {

            rdplot(sub_plot$Y, sub_plot$X, h = h_plot, p = P, binselect = "esmv",
                   x.label = "Distance to Cutoff (km)",
                   y.label = yvar,
                   title = paste0(yvar, " | Year=", yr, " | AUTO bw plot | h_plot=", round(h_plot, 2), " km"))

            Y_adj <- residualize_region(sub_plot$Y, sub_plot)
            rdplot(Y_adj, sub_plot$X, h = h_plot, p = P, binselect = "esmv",
                   x.label = "Distance to Cutoff (km)",
                   y.label = paste0(yvar, " (adj. region FE)"),
                   title = paste0(yvar, " | Year=", yr, " | AUTO bw plot (region FE resid) | h_plot=", round(h_plot, 2), " km"))
          }
        }
      }
    }

    next
  }

  # --- All other outcomes: collapse to 1 row per municipality ---
  d1 <- collapse_one_row_per_muni(df0, keycol = KEYCOL, xcol = RUNNING, ycol = yvar, keep_year = FALSE)

# Difference in means within |X| <= 40 km (Full Italy):
#   (i) raw Welch t-test
#   (ii) OLS controlling for region FE (Y ~ Treated + region dummies)
dm <- diff_means_test(d1, h = H_DM)
dm_fe <- diff_means_test_regFE(d1, h = H_DM)

if (!is.null(dm)) {
  dm_out <- dm
  if (!is.null(dm_fe)) {
    dm_out <- dplyr::left_join(dm_out, dm_fe, by = "h_km")
  } else {
    dm_out <- dm_out %>% mutate(diff_fe = NA_real_, se_fe = NA_real_, t_fe = NA_real_, df_fe = NA_real_, p_fe = NA_real_)
  }

  all_dm40[[length(all_dm40) + 1]] <- dm_out %>%
    mutate(sample = "FULL_ITALY_regFE", outcome = yvar, year = NA_integer_)

  cat("[Full Italy diff-means] h=", H_DM, " km | outcome=", yvar,
      " | diff=", signif(dm_out$diff_treat_minus_control, 4),
      " | p=", signif(dm_out$p_value, 4),
      " | diff_FE=", signif(dm_out$diff_fe, 4),
      " | p_FE=", signif(dm_out$p_fe, 4),
      " | N_t=", dm_out$n_treated, " N_c=", dm_out$n_control, "\n", sep = "")
} else {
  cat("[Full Italy diff-means] Skip: insufficient treated/control data within ±", H_DM,
      " km for outcome=", yvar, "\n", sep = "")
}

cat("\n", strrep("=", 110), "\n", sep = "")
  cat("Outcome: ", yvar, " | FULL ITALY | p=", P, " | X in KM | REGION FE\n", sep = "")
  cat(strrep("=", 110), "\n", sep = "")

  # 1) RD plots (raw + region-adjusted) for MANUAL bandwidths
  for (h in BWS_KM) {
    sub <- make_sub(d1, h)
    if (is.null(sub)) {
      cat("[Skip plot] ", yvar, " h=", h, "km: too little usable data/variation\n", sep = "")
      next
    }

    rdplot(sub$Y, sub$X, h = h, p = P, binselect = "qsmv",
           x.label = "Distance to Cutoff (km)",
           y.label = yvar,
           title = paste0(yvar, " | raw | h=", h, " km"))

    Y_adj <- residualize_region(sub$Y, sub)
    rdplot(Y_adj, sub$X, h = h, p = P, binselect = "qsmv",
           x.label = "Distance to Cutoff (km)",
           y.label = paste0(yvar, " (adj. region FE)"),
           title = paste0(yvar, " | region FE residual | h=", h, " km"))
  }

  # 2) RD tables (MANUAL bandwidths; with region FE via covs)
  for (h in BWS_KM) {
    sub <- make_sub(d1, h)
    if (is.null(sub)) {
      cat("[Skip rdrobust] ", yvar, " h=", h, "km: too little usable data/variation\n", sep = "")
      next
    }

    covs <- region_covs(sub)

    cat("\n", strrep("-", 90), "\n", sep = "")
    cat("RDROBUST — ", yvar, " | h=", h, " km | p=", P,
        " | N used=", nrow(sub), " | + REGION FE\n", sep = "")
    cat(strrep("-", 90), "\n", sep = "")

    rb <- rdrobust(sub$Y, sub$X, h = h, p = P, covs = covs)
    print(summary(rb))

    all_results[[length(all_results) + 1]] <- extract_rdrobust(rb, outcome = yvar, h = h, sample = "FULL_ITALY", year = NA_integer_, h_type = "MANUAL")
  }

  # 3) RD table (AUTO bandwidth; rdrobust selects bws)
  sub_full <- make_sub_full(d1)
  if (is.null(sub_full)) {
    cat("[Skip AUTO rdrobust] ", yvar, ": too little usable data/variation\n", sep = "")
  } else {

    covs_full <- region_covs(sub_full)

    cat("\n", strrep("-", 90), "\n", sep = "")
    cat("RDROBUST — ", yvar, " | AUTO bandwidth (default) | p=", P,
        " | N used=", nrow(sub_full), " | + REGION FE\n", sep = "")
    cat(strrep("-", 90), "\n", sep = "")

    rb_auto <- rdrobust(sub_full$Y, sub_full$X, p = P, covs = covs_full)
    print(summary(rb_auto))

    all_results[[length(all_results) + 1]] <-
      extract_rdrobust(rb_auto, outcome = yvar, h = NA_real_, sample = "FULL_ITALY", year = NA_integer_, h_type = "AUTO")

    # Optional plots using h_plot = max(selected bws)
    if (!is.null(rb_auto$bws) && all(is.finite(rb_auto$bws))) {
      h_plot <- max(rb_auto$bws)

      sub_plot <- make_sub(d1, h_plot)
      if (!is.null(sub_plot)) {

        rdplot(sub_plot$Y, sub_plot$X, h = h_plot, p = P, binselect = "qsmv",
               x.label = "Distance to Cutoff (km)",
               y.label = yvar,
               title = paste0(yvar, " | AUTO bw plot | h_plot=", round(h_plot, 2), " km"))

        Y_adj <- residualize_region(sub_plot$Y, sub_plot)
        rdplot(Y_adj, sub_plot$X, h = h_plot, p = P, binselect = "qsmv",
               x.label = "Distance to Cutoff (km)",
               y.label = paste0(yvar, " (adj. region FE)"),
               title = paste0(yvar, " | AUTO bw plot (region FE resid) | h_plot=", round(h_plot, 2), " km"))
      }
    }
  }
}
## [Full Italy diff-means] h=40 km | outcome=gb_intensity | diff=0.004583 | p=5.036e-05 | diff_FE=-0.0104 | p_FE=5.651e-09 | N_t=734 N_c=637
## 
## ==============================================================================================================
## Outcome: gb_intensity | FULL ITALY | p=1 | X in KM | REGION FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — gb_intensity | h=30 km | p=1 | N used=1046 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1046
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  464          582
## Eff. Number of Obs.             464          582
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     464          582
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -0.006     0.002    -2.583     0.010    [-0.011 , -0.001]    
##         Robust         -         -    -0.393     0.694    [-0.010 , 0.007]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — gb_intensity | h=40 km | p=1 | N used=1316 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1316
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  608          708
## Eff. Number of Obs.             608          708
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     608          708
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -0.006     0.002    -2.884     0.004    [-0.010 , -0.002]    
##         Robust         -         -    -1.300     0.193    [-0.011 , 0.002]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — gb_intensity | h=50 km | p=1 | N used=1596 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1596
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  730          866
## Eff. Number of Obs.             730          866
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     730          866
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -0.007     0.002    -3.651     0.000    [-0.011 , -0.003]    
##         Robust         -         -    -1.271     0.204    [-0.009 , 0.002]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — gb_intensity | AUTO bandwidth (default) | p=1 | N used=3513 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 3513
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                 2215         1298
## Eff. Number of Obs.             396          492
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  24.789       24.789
## BW bias (b)                  43.825       43.825
## rho (h/b)                     0.566        0.566
## Unique Obs.                    2199         1279
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -0.005     0.003    -1.894     0.058    [-0.010 , 0.000]     
##         Robust         -         -    -1.265     0.206    [-0.011 , 0.002]     
## =============================================================================
## NULL
## [Full Italy diff-means] h=40 km | outcome=gb_reg_rate | diff=-0.03899 | p=0.0003641 | diff_FE=0.05006 | p_FE=0.004728 | N_t=734 N_c=637
## 
## ==============================================================================================================
## Outcome: gb_reg_rate | FULL ITALY | p=1 | X in KM | REGION FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — gb_reg_rate | h=30 km | p=1 | N used=1046 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1046
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  464          582
## Eff. Number of Obs.             464          582
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     464          582
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.044     0.023     1.865     0.062    [-0.002 , 0.089]     
##         Robust         -         -     0.413     0.680    [-0.059 , 0.090]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — gb_reg_rate | h=40 km | p=1 | N used=1316 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1316
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  608          708
## Eff. Number of Obs.             608          708
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     608          708
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.043     0.020     2.112     0.035     [0.003 , 0.082]     
##         Robust         -         -     1.261     0.207    [-0.022 , 0.102]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — gb_reg_rate | h=50 km | p=1 | N used=1596 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1596
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  730          866
## Eff. Number of Obs.             730          866
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     730          866
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.053     0.018     2.936     0.003     [0.018 , 0.088]     
##         Robust         -         -     0.974     0.330    [-0.028 , 0.082]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — gb_reg_rate | AUTO bandwidth (default) | p=1 | N used=3513 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 3513
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                 2215         1298
## Eff. Number of Obs.             402          501
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  25.315       25.315
## BW bias (b)                  41.059       41.059
## rho (h/b)                     0.617        0.617
## Unique Obs.                    2199         1279
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.034     0.025     1.320     0.187    [-0.016 , 0.083]     
##         Robust         -         -     0.970     0.332    [-0.032 , 0.093]     
## =============================================================================
## NULL
## [Full Italy diff-means] h=40 km | outcome=evasione | diff=-2.856 | p=9.763e-11 | diff_FE=-2.625 | p_FE=0.0001142 | N_t=702 N_c=605
## 
## ==============================================================================================================
## Outcome: evasione | FULL ITALY | p=1 | X in KM | REGION FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — evasione | h=30 km | p=1 | N used=1038 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1038
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  460          578
## Eff. Number of Obs.             460          578
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     460          578
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -1.475     0.946    -1.559     0.119    [-3.329 , 0.379]     
##         Robust         -         -     0.079     0.937    [-3.098 , 3.358]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — evasione | h=40 km | p=1 | N used=1304 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1304
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  602          702
## Eff. Number of Obs.             602          702
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     602          702
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -1.334     0.810    -1.647     0.100    [-2.922 , 0.254]     
##         Robust         -         -    -0.919     0.358    [-3.790 , 1.370]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — evasione | h=50 km | p=1 | N used=1582 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1582
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  723          859
## Eff. Number of Obs.             723          859
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     723          859
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -1.419     0.722    -1.966     0.049    [-2.833 , -0.004]    
##         Robust         -         -    -1.067     0.286    [-3.449 , 1.017]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — evasione | AUTO bandwidth (default) | p=1 | N used=3473 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 3473
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                 2195         1278
## Eff. Number of Obs.             462          580
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.183       30.183
## BW bias (b)                  55.582       55.582
## rho (h/b)                     0.543        0.543
## Unique Obs.                    2179         1259
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -1.587     0.943    -1.684     0.092    [-3.435 , 0.260]     
##         Robust         -         -     0.936     0.349    [-1.966 , 5.561]     
## =============================================================================
## NULL
## [Full Italy diff-means] h=40 km | outcome=services_level | diff=0.2873 | p=0.0668 | diff_FE=2.314 | p_FE=9.321e-22 | N_t=702 N_c=605
## 
## ==============================================================================================================
## Outcome: services_level | FULL ITALY | p=1 | X in KM | REGION FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — services_level | h=30 km | p=1 | N used=1038 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1038
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  460          578
## Eff. Number of Obs.             460          578
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     460          578
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     1.496     0.322     4.639     0.000     [0.864 , 2.128]     
##         Robust         -         -     1.738     0.082    [-0.120 , 2.004]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — services_level | h=40 km | p=1 | N used=1304 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1304
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  602          702
## Eff. Number of Obs.             602          702
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     602          702
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     1.710     0.278     6.159     0.000     [1.166 , 2.254]     
##         Robust         -         -     2.717     0.007     [0.337 , 2.081]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — services_level | h=50 km | p=1 | N used=1582 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1582
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  723          859
## Eff. Number of Obs.             723          859
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     723          859
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     1.858     0.250     7.430     0.000     [1.368 , 2.348]     
##         Robust         -         -     3.648     0.000     [0.647 , 2.149]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — services_level | AUTO bandwidth (default) | p=1 | N used=3188 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 3188
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                 1910         1278
## Eff. Number of Obs.             361          442
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  21.848       21.848
## BW bias (b)                  43.443       43.443
## rho (h/b)                     0.503        0.503
## Unique Obs.                    1894         1259
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     1.222     0.388     3.153     0.002     [0.462 , 1.982]     
##         Robust         -         -     2.284     0.022     [0.148 , 1.936]     
## =============================================================================
## NULL
## [Full Italy diff-means] h=40 km | outcome=Admin_Tax_Emp | diff=0.1069 | p=0.1179 | diff_FE=0.1366 | p_FE=0.2162 | N_t=232 N_c=217
## 
## ==============================================================================================================
## Outcome: Admin_Tax_Emp | FULL ITALY | p=1 | X in KM | REGION FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Admin_Tax_Emp | h=30 km | p=1 | N used=364 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  364
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  172          192
## Eff. Number of Obs.             172          192
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     172          192
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.071     0.097     0.732     0.464    [-0.119 , 0.261]     
##         Robust         -         -     1.774     0.076    [-0.021 , 0.416]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Admin_Tax_Emp | h=40 km | p=1 | N used=447 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  447
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  215          232
## Eff. Number of Obs.             215          232
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     215          232
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.065     0.059     1.108     0.268    [-0.050 , 0.181]     
##         Robust         -         -     0.737     0.461    [-0.159 , 0.351]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Admin_Tax_Emp | h=50 km | p=1 | N used=500 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  500
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  234          266
## Eff. Number of Obs.             234          266
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     234          266
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.105     0.050     2.101     0.036     [0.007 , 0.203]     
##         Robust         -         -    -0.096     0.924    [-0.308 , 0.279]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Admin_Tax_Emp | AUTO bandwidth (default) | p=1 | N used=927 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  927
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  574          353
## Eff. Number of Obs.             118          119
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  17.072       17.072
## BW bias (b)                  50.514       50.514
## rho (h/b)                     0.338        0.338
## Unique Obs.                     569          351
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.153     0.087     1.756     0.079    [-0.018 , 0.324]     
##         Robust         -         -     1.319     0.187    [-0.063 , 0.324]     
## =============================================================================
## NULL
## [Full Italy diff-means] h=40 km | outcome=edu_serv_lvl | diff=0.6146 | p=0.0001335 | diff_FE=1.223 | p_FE=3.134e-06 | N_t=685 N_c=553
## 
## ==============================================================================================================
## Outcome: edu_serv_lvl | FULL ITALY | p=1 | X in KM | REGION FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_serv_lvl | h=30 km | p=1 | N used=992 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  992
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  425          567
## Eff. Number of Obs.             425          567
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     425          567
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.903     0.372     2.428     0.015     [0.174 , 1.632]     
##         Robust         -         -     0.376     0.707    [-1.033 , 1.523]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_serv_lvl | h=40 km | p=1 | N used=1235 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1235
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  550          685
## Eff. Number of Obs.             550          685
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     550          685
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     1.301     0.322     4.037     0.000     [0.669 , 1.932]     
##         Robust         -         -     0.600     0.548    [-0.701 , 1.319]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_serv_lvl | h=50 km | p=1 | N used=1497 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1497
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  659          838
## Eff. Number of Obs.             659          838
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     659          838
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     1.539     0.291     5.289     0.000     [0.969 , 2.109]     
##         Robust         -         -     1.555     0.120    [-0.178 , 1.547]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_serv_lvl | AUTO bandwidth (default) | p=1 | N used=3010 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 3010
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                 1760         1250
## Eff. Number of Obs.             299          399
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  18.993       18.993
## BW bias (b)                  42.905       42.905
## rho (h/b)                     0.443        0.443
## Unique Obs.                    1744         1232
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.523     0.493     1.060     0.289    [-0.444 , 1.490]     
##         Robust         -         -     0.458     0.647    [-0.844 , 1.358]     
## =============================================================================
## NULL
## [Full Italy diff-means] h=40 km | outcome=edu_muni_school_area_per1000 | diff=0.796 | p=0.09316 | diff_FE=2.931 | p_FE=7.685e-05 | N_t=702 N_c=605
## 
## ==============================================================================================================
## Outcome: edu_muni_school_area_per1000 | FULL ITALY | p=1 | X in KM | REGION FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_muni_school_area_per1000 | h=30 km | p=1 | N used=1038 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1038
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  460          578
## Eff. Number of Obs.             460          578
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     460          578
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     2.679     0.971     2.759     0.006     [0.776 , 4.582]     
##         Robust         -         -     0.314     0.754    [-2.671 , 3.690]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_muni_school_area_per1000 | h=40 km | p=1 | N used=1304 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1304
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  602          702
## Eff. Number of Obs.             602          702
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     602          702
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     2.975     0.846     3.517     0.000     [1.317 , 4.634]     
##         Robust         -         -     1.190     0.234    [-1.025 , 4.196]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_muni_school_area_per1000 | h=50 km | p=1 | N used=1581 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1581
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  722          859
## Eff. Number of Obs.             722          859
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     722          859
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     3.094     0.765     4.045     0.000     [1.595 , 4.593]     
##         Robust         -         -     1.972     0.049     [0.014 , 4.560]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_muni_school_area_per1000 | AUTO bandwidth (default) | p=1 | N used=3184 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 3184
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                 1906         1278
## Eff. Number of Obs.             437          539
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  27.855       27.855
## BW bias (b)                  50.113       50.113
## rho (h/b)                     0.556        0.556
## Unique Obs.                    1890         1259
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     2.455     1.009     2.432     0.015     [0.476 , 4.433]     
##         Robust         -         -     1.796     0.073    [-0.199 , 4.560]     
## =============================================================================
## NULL
## [Full Italy diff-means] h=40 km | outcome=edu_emp_per1000 | diff=-0.01615 | p=0.4388 | diff_FE=0.05389 | p_FE=0.07027 | N_t=359 N_c=359
## 
## ==============================================================================================================
## Outcome: edu_emp_per1000 | FULL ITALY | p=1 | X in KM | REGION FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_emp_per1000 | h=30 km | p=1 | N used=569 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  569
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  276          293
## Eff. Number of Obs.             276          293
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     276          293
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.045     0.044     1.019     0.308    [-0.042 , 0.132]     
##         Robust         -         -    -1.027     0.304    [-0.182 , 0.057]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_emp_per1000 | h=40 km | p=1 | N used=715 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  715
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  356          359
## Eff. Number of Obs.             356          359
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     356          359
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.069     0.038     1.819     0.069    [-0.005 , 0.144]     
##         Robust         -         -    -0.165     0.869    [-0.122 , 0.103]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_emp_per1000 | h=50 km | p=1 | N used=850 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  850
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  432          418
## Eff. Number of Obs.             432          418
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     432          418
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.082     0.035     2.326     0.020     [0.013 , 0.150]     
##         Robust         -         -     0.373     0.709    [-0.086 , 0.126]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_emp_per1000 | AUTO bandwidth (default) | p=1 | N used=1710 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1710
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                 1090          620
## Eff. Number of Obs.             185          206
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  17.952       17.952
## BW bias (b)                  35.840       35.840
## rho (h/b)                     0.501        0.501
## Unique Obs.                    1086          613
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -0.014     0.052    -0.280     0.780    [-0.116 , 0.087]     
##         Robust         -         -    -0.755     0.450    [-0.165 , 0.073]     
## =============================================================================
## NULL
## [Full Italy diff-means] h=40 km | outcome=PublS_CyclePath_per | diff=5.153 | p=9.42e-16 | diff_FE=6.09 | p_FE=3.876e-09 | N_t=694 N_c=602
## 
## ==============================================================================================================
## Outcome: PublS_CyclePath_per | FULL ITALY | p=1 | X in KM | REGION FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — PublS_CyclePath_per | h=30 km | p=1 | N used=1029 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1029
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  457          572
## Eff. Number of Obs.             457          572
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     457          572
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     5.753     1.435     4.010     0.000     [2.941 , 8.565]     
##         Robust         -         -     1.981     0.048     [0.058 , 10.644]    
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — PublS_CyclePath_per | h=40 km | p=1 | N used=1293 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1293
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  599          694
## Eff. Number of Obs.             599          694
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     599          694
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     5.890     1.257     4.685     0.000     [3.426 , 8.353]     
##         Robust         -         -     2.680     0.007     [1.488 , 9.590]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — PublS_CyclePath_per | h=50 km | p=1 | N used=1569 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1569
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  719          850
## Eff. Number of Obs.             719          850
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     719          850
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     6.054     1.154     5.247     0.000     [3.793 , 8.316]     
##         Robust         -         -     3.425     0.001     [2.494 , 9.169]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — PublS_CyclePath_per | AUTO bandwidth (default) | p=1 | N used=3152 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 3152
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                 1886         1266
## Eff. Number of Obs.             496          602
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  32.304       32.304
## BW bias (b)                  54.496       54.496
## rho (h/b)                     0.593        0.593
## Unique Obs.                    1870         1247
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     5.884     1.372     4.288     0.000     [3.195 , 8.573]     
##         Robust         -         -     3.595     0.000     [2.704 , 9.189]     
## =============================================================================
## NULL
## [Full Italy diff-means] h=40 km | outcome=pol_mun_road | diff=-30.14 | p=9.489e-06 | diff_FE=11.74 | p_FE=0.2341 | N_t=702 N_c=605
## 
## ==============================================================================================================
## Outcome: pol_mun_road | FULL ITALY | p=1 | X in KM | REGION FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — pol_mun_road | h=30 km | p=1 | N used=1038 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1038
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  460          578
## Eff. Number of Obs.             460          578
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     460          578
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     7.480     9.104     0.822     0.411   [-10.364 , 25.324]    
##         Robust         -         -    -0.410     0.682   [-30.390 , 19.867]    
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — pol_mun_road | h=40 km | p=1 | N used=1304 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1304
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  602          702
## Eff. Number of Obs.             602          702
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     602          702
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    12.760     7.793     1.637     0.102    [-2.513 , 28.033]    
##         Robust         -         -    -0.209     0.835   [-27.186 , 21.957]    
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — pol_mun_road | h=50 km | p=1 | N used=1582 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1582
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  723          859
## Eff. Number of Obs.             723          859
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     723          859
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    15.352     7.258     2.115     0.034     [1.127 , 29.577]    
##         Robust         -         -     0.387     0.699   [-17.608 , 26.267]    
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — pol_mun_road | AUTO bandwidth (default) | p=1 | N used=3188 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 3188
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                 1910         1278
## Eff. Number of Obs.             411          507
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  26.001       26.001
## BW bias (b)                  52.086       52.086
## rho (h/b)                     0.499        0.499
## Unique Obs.                    1894         1259
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     2.437     9.558     0.255     0.799   [-16.297 , 21.171]    
##         Robust         -         -    -0.039     0.969   [-23.765 , 22.830]    
## =============================================================================
## NULL
## [Full Italy diff-means] h=40 km | outcome=Pillar2_pol | year=2010 | diff=1.109 | p=0.01113 | diff_FE=1.688 | p_FE=0.01337 | N_t=702 N_c=605
## 
## ==============================================================================================================
## Outcome: Pillar2_pol | Year=2010 | FULL ITALY | p=1 | X in KM | REGION FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Pillar2_pol | Year=2010 | h=30 km | p=1 | N used=1038 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1038
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  460          578
## Eff. Number of Obs.             460          578
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     460          578
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -0.305     0.984    -0.310     0.757    [-2.233 , 1.623]     
##         Robust         -         -    -1.305     0.192    [-5.364 , 1.076]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Pillar2_pol | Year=2010 | h=40 km | p=1 | N used=1304 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1304
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  602          702
## Eff. Number of Obs.             602          702
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     602          702
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.252     0.850     0.297     0.767    [-1.413 , 1.917]     
##         Robust         -         -    -0.968     0.333    [-3.948 , 1.337]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Pillar2_pol | Year=2010 | h=50 km | p=1 | N used=1582 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1582
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  723          859
## Eff. Number of Obs.             723          859
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     723          859
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.615     0.764     0.805     0.421    [-0.882 , 2.112]     
##         Robust         -         -    -0.689     0.491    [-3.087 , 1.481]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Pillar2_pol | Year=2010 | AUTO bandwidth (default) | p=1 | N used=3473 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 3473
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                 2195         1278
## Eff. Number of Obs.             321          404
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  18.852       18.852
## BW bias (b)                  36.686       36.686
## rho (h/b)                     0.514        0.514
## Unique Obs.                    2179         1259
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -1.567     1.281    -1.223     0.221    [-4.077 , 0.943]     
##         Robust         -         -    -1.444     0.149    [-5.239 , 0.794]     
## =============================================================================
## NULL
## [Full Italy diff-means] h=40 km | outcome=Pillar2_pol | year=2020 | diff=3.135 | p=2.144e-09 | diff_FE=4.317 | p_FE=8.705e-08 | N_t=702 N_c=605
## 
## ==============================================================================================================
## Outcome: Pillar2_pol | Year=2020 | FULL ITALY | p=1 | X in KM | REGION FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Pillar2_pol | Year=2020 | h=30 km | p=1 | N used=1038 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1038
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  460          578
## Eff. Number of Obs.             460          578
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     460          578
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     1.010     1.138     0.888     0.375    [-1.220 , 3.241]     
##         Robust         -         -    -0.130     0.897    [-4.001 , 3.504]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Pillar2_pol | Year=2020 | h=40 km | p=1 | N used=1304 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1304
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  602          702
## Eff. Number of Obs.             602          702
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     602          702
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     1.837     0.968     1.898     0.058    [-0.060 , 3.733]     
##         Robust         -         -    -0.108     0.914    [-3.254 , 2.915]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Pillar2_pol | Year=2020 | h=50 km | p=1 | N used=1582 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1582
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  723          859
## Eff. Number of Obs.             723          859
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     723          859
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     2.355     0.861     2.735     0.006     [0.667 , 4.042]     
##         Robust         -         -     0.381     0.704    [-2.142 , 3.174]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Pillar2_pol | Year=2020 | AUTO bandwidth (default) | p=1 | N used=3473 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 3473
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                 2195         1278
## Eff. Number of Obs.             303          377
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  17.276       17.276
## BW bias (b)                  29.602       29.602
## rho (h/b)                     0.584        0.584
## Unique Obs.                    2179         1259
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.562     1.580     0.355     0.722    [-2.535 , 3.659]     
##         Robust         -         -     0.087     0.931    [-3.771 , 4.119]     
## =============================================================================
## NULL
## [Full Italy diff-means] h=40 km | outcome=marr_civil | diff=3.342 | p=0.3658 | diff_FE=8.156 | p_FE=0.1919 | N_t=702 N_c=605
## 
## ==============================================================================================================
## Outcome: marr_civil | FULL ITALY | p=1 | X in KM | REGION FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — marr_civil | h=30 km | p=1 | N used=1038 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1038
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  460          578
## Eff. Number of Obs.             460          578
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     460          578
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     1.013     4.459     0.227     0.820    [-7.727 , 9.754]     
##         Robust         -         -    -0.013     0.989    [-8.068 , 7.959]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — marr_civil | h=40 km | p=1 | N used=1304 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1304
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  602          702
## Eff. Number of Obs.             602          702
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     602          702
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     4.686     2.548     1.839     0.066    [-0.309 , 9.680]     
##         Robust         -         -    -0.480     0.632   [-17.209 , 10.443]    
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — marr_civil | h=50 km | p=1 | N used=1582 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1582
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  723          859
## Eff. Number of Obs.             723          859
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     723          859
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     6.417     2.161     2.969     0.003     [2.181 , 10.653]    
##         Robust         -         -    -0.021     0.983   [-11.890 , 11.640]    
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — marr_civil | AUTO bandwidth (default) | p=1 | N used=3188 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 3188
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                 1910         1278
## Eff. Number of Obs.             315          395
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  18.202       18.202
## BW bias (b)                  46.440       46.440
## rho (h/b)                     0.392        0.392
## Unique Obs.                    1894         1259
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     2.595     2.860     0.907     0.364    [-3.010 , 8.199]     
##         Robust         -         -     0.334     0.739    [-5.674 , 8.002]     
## =============================================================================
## NULL
## [Full Italy diff-means] h=40 km | outcome=marr_rel | diff=1.971 | p=0.1007 | diff_FE=3.881 | p_FE=0.05396 | N_t=702 N_c=605
## 
## ==============================================================================================================
## Outcome: marr_rel | FULL ITALY | p=1 | X in KM | REGION FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — marr_rel | h=30 km | p=1 | N used=1038 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1038
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  460          578
## Eff. Number of Obs.             460          578
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     460          578
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -0.409     1.719    -0.238     0.812    [-3.777 , 2.960]     
##         Robust         -         -    -1.118     0.264    [-6.930 , 1.897]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — marr_rel | h=40 km | p=1 | N used=1304 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1304
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  602          702
## Eff. Number of Obs.             602          702
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     602          702
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     1.171     1.187     0.986     0.324    [-1.156 , 3.498]     
##         Robust         -         -    -1.117     0.264    [-7.991 , 2.190]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — marr_rel | h=50 km | p=1 | N used=1582 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1582
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  723          859
## Eff. Number of Obs.             723          859
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     723          859
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     2.059     1.050     1.961     0.050     [0.001 , 4.117]     
##         Robust         -         -    -0.611     0.541    [-5.687 , 2.984]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — marr_rel | AUTO bandwidth (default) | p=1 | N used=3188 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 3188
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                 1910         1278
## Eff. Number of Obs.             343          420
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  20.369       20.369
## BW bias (b)                  49.864       49.864
## rho (h/b)                     0.408        0.408
## Unique Obs.                    1894         1259
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -0.895     1.535    -0.583     0.560    [-3.904 , 2.114]     
##         Robust         -         -    -0.909     0.363    [-5.046 , 1.848]     
## =============================================================================
## NULL
## [Full Italy diff-means] h=40 km | outcome=incomepc | diff=1195 | p=7.211e-12 | diff_FE=1802 | p_FE=1.797e-10 | N_t=702 N_c=605
## 
## ==============================================================================================================
## Outcome: incomepc | FULL ITALY | p=1 | X in KM | REGION FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — incomepc | h=30 km | p=1 | N used=1038 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1038
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  460          578
## Eff. Number of Obs.             460          578
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     460          578
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional  1405.997   371.068     3.789     0.000   [678.718 , 2133.276]  
##         Robust         -         -     0.464     0.643 [-1020.870 , 1654.459]  
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — incomepc | h=40 km | p=1 | N used=1304 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1304
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  602          702
## Eff. Number of Obs.             602          702
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     602          702
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional  1692.075   323.124     5.237     0.000  [1058.764 , 2325.386]  
##         Robust         -         -     1.454     0.146  [-266.344 , 1797.202]  
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — incomepc | h=50 km | p=1 | N used=1582 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1582
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  723          859
## Eff. Number of Obs.             723          859
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     723          859
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional  1808.611   291.953     6.195     0.000  [1236.395 , 2380.828]  
##         Robust         -         -     2.763     0.006   [356.521 , 2097.068]  
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — incomepc | AUTO bandwidth (default) | p=1 | N used=3188 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 3188
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                 1910         1278
## Eff. Number of Obs.             398          496
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  25.262       25.262
## BW bias (b)                  49.368       49.368
## rho (h/b)                     0.512        0.512
## Unique Obs.                    1894         1259
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional  1160.257   409.920     2.830     0.005   [356.829 , 1963.686]  
##         Robust         -         -     1.983     0.047    [11.110 , 1899.471]  
## =============================================================================
## NULL
## [Full Italy diff-means] h=40 km | outcome=income | diff=56250000 | p=0.2643 | diff_FE=101600000 | p_FE=0.2396 | N_t=702 N_c=605
## 
## ==============================================================================================================
## Outcome: income | FULL ITALY | p=1 | X in KM | REGION FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — income | h=30 km | p=1 | N used=1038 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1038
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  460          578
## Eff. Number of Obs.             460          578
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     460          578
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional-19595546.75759296979.526    -0.330     0.741[-135815491.021 , 96624397.507]
##         Robust         -         -    -0.907     0.364[-113409225.489 , 41629913.286]
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — income | h=40 km | p=1 | N used=1304 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1304
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  602          702
## Eff. Number of Obs.             602          702
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     602          702
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional37518175.34027343895.986     1.372     0.170[-16074875.989 , 91111226.669]
##         Robust         -         -    -0.922     0.356[-275480655.714 , 99196550.975]
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — income | h=50 km | p=1 | N used=1582 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1582
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  723          859
## Eff. Number of Obs.             723          859
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     723          859
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional68082107.31322550633.319     3.019     0.003[23883678.179 , 112280536.446]
##         Robust         -         -    -0.519     0.604[-199756847.263 , 116129605.662]
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — income | AUTO bandwidth (default) | p=1 | N used=3188 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 3188
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                 1910         1278
## Eff. Number of Obs.             275          350
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  15.659       15.659
## BW bias (b)                  42.346       42.346
## rho (h/b)                     0.370        0.370
## Unique Obs.                    1894         1259
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional7125288.58029378229.905     0.243     0.808[-50454983.963 , 64705561.122]
##         Robust         -         -    -0.490     0.624[-92551405.010 , 55536652.758]
## =============================================================================
## NULL
## [Full Italy diff-means] h=40 km | outcome=expend_level | diff=0.365 | p=0.005602 | diff_FE=0.6255 | p_FE=0.002862 | N_t=702 N_c=605
## 
## ==============================================================================================================
## Outcome: expend_level | FULL ITALY | p=1 | X in KM | REGION FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — expend_level | h=30 km | p=1 | N used=1038 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1038
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  460          578
## Eff. Number of Obs.             460          578
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     460          578
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.306     0.308     0.993     0.321    [-0.298 , 0.910]     
##         Robust         -         -    -0.169     0.865    [-1.153 , 0.970]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — expend_level | h=40 km | p=1 | N used=1304 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1304
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  602          702
## Eff. Number of Obs.             602          702
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     602          702
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.437     0.262     1.669     0.095    [-0.076 , 0.950]     
##         Robust         -         -     0.278     0.781    [-0.728 , 0.968]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — expend_level | h=50 km | p=1 | N used=1582 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1582
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  723          859
## Eff. Number of Obs.             723          859
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     723          859
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.529     0.235     2.251     0.024     [0.068 , 0.989]     
##         Robust         -         -     0.628     0.530    [-0.488 , 0.947]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — expend_level | AUTO bandwidth (default) | p=1 | N used=3188 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 3188
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                 1910         1278
## Eff. Number of Obs.             436          537
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  27.692       27.692
## BW bias (b)                  51.264       51.264
## rho (h/b)                     0.540        0.540
## Unique Obs.                    1894         1259
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.337     0.324     1.040     0.298    [-0.298 , 0.971]     
##         Robust         -         -     0.596     0.551    [-0.524 , 0.983]     
## =============================================================================
## NULL
## [Full Italy diff-means] h=40 km | outcome=expenditure | diff=314600 | p=0.527 | diff_FE=921100 | p_FE=0.2705 | N_t=702 N_c=605
## 
## ==============================================================================================================
## Outcome: expenditure | FULL ITALY | p=1 | X in KM | REGION FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — expenditure | h=30 km | p=1 | N used=1038 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1038
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  460          578
## Eff. Number of Obs.             460          578
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     460          578
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional-35484.778544630.276    -0.065     0.948[-1102940.503 , 1031970.947]
##         Robust         -         -    -0.539     0.590[-992015.240 , 563864.524]
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — expenditure | h=40 km | p=1 | N used=1304 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1304
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  602          702
## Eff. Number of Obs.             602          702
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     602          702
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional502204.049308425.201     1.628     0.103[-102298.237 , 1106706.334]
##         Robust         -         -    -0.730     0.466[-2369395.251 , 1083933.670]
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — expenditure | h=50 km | p=1 | N used=1582 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1582
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  723          859
## Eff. Number of Obs.             723          859
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     723          859
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional725178.708244532.771     2.966     0.003[245903.283 , 1204454.132]
##         Robust         -         -    -0.184     0.854[-1622881.812 , 1343873.024]
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — expenditure | AUTO bandwidth (default) | p=1 | N used=3473 | + REGION FE
## ------------------------------------------------------------------------------------------
## Covariate-adjusted Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 3473
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                 2195         1278
## Eff. Number of Obs.             289          363
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  16.466       16.466
## BW bias (b)                  46.308       46.308
## rho (h/b)                     0.356        0.356
## Unique Obs.                    2179         1259
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional122100.132288686.482     0.423     0.672[-443714.975 , 687915.239]
##         Robust         -         -    -0.149     0.881[-754025.561 , 647161.365]
## =============================================================================
## NULL
dev.off()
## quartz_off_screen 
##                 2
# Export Full-Italy diff-means results at 40 km
dm_all40 <- dplyr::bind_rows(all_dm40)
if (nrow(dm_all40) > 0) {
  readr::write_csv(dm_all40, dm_csv_all40)
  cat("
[Full Italy diff-means] Wrote: ", dm_csv_all40, " | rows=", nrow(dm_all40), "
", sep = "")
  print(dm_all40 %>%
          dplyr::select(sample, outcome, year, h_km, n_treated, n_control,
                        diff_treat_minus_control, se_diff, p_value,
                        diff_fe, se_fe, p_fe) %>%
          head(10))
} else {
  cat("
[Full Italy diff-means] No usable data within ±40 km for any outcome; skipping export.
", sep = "")
}
## 
## [Full Italy diff-means] Wrote: output/diffmeans_FullItaly_h40.csv | rows=18
## # A tibble: 10 × 12
##    sample outcome  year  h_km n_treated n_control diff_treat_minus_con…¹ se_diff
##    <chr>  <chr>   <dbl> <dbl>     <int>     <int>                  <dbl>   <dbl>
##  1 FULL_… gb_int…    NA    40       734       637                0.00458 0.00113
##  2 FULL_… gb_reg…    NA    40       734       637               -0.0390  0.0109 
##  3 FULL_… evasio…    NA    40       702       605               -2.86    0.437  
##  4 FULL_… servic…    NA    40       702       605                0.287   0.157  
##  5 FULL_… Admin_…    NA    40       232       217                0.107   0.0681 
##  6 FULL_… edu_se…    NA    40       685       553                0.615   0.160  
##  7 FULL_… edu_mu…    NA    40       702       605                0.796   0.474  
##  8 FULL_… edu_em…    NA    40       359       359               -0.0161  0.0208 
##  9 FULL_… PublS_…    NA    40       694       602                5.15    0.633  
## 10 FULL_… pol_mu…    NA    40       702       605              -30.1     6.77   
## # ℹ abbreviated name: ¹​diff_treat_minus_control
## # ℹ 4 more variables: p_value <dbl>, diff_fe <dbl>, se_fe <dbl>, p_fe <dbl>
sink()

NEW: Placebo curve (artificial cutoffs) and Donut RD (Full Italy)

# ------------------------------------------------------------
# Placebo curve (Full Italy, region FE)
# Artificial cutoffs: move inside treated (-) and control (+) sides, 10–30 km
# ------------------------------------------------------------
placebo_all <- list()

pdf(placebo_pdf_all, width = 7, height = 4.5)

for (yvar in OUTCOMES) {

  if (!(yvar %in% names(df0))) next

  # Pillar2_pol: run by year
  if (yvar == "Pillar2_pol" && ("year" %in% names(df0))) {

    for (yr in YEARS) {

      dY <- df0 %>% filter(year == yr)
      d1 <- collapse_one_row_per_muni(dY, keycol = KEYCOL, xcol = RUNNING, ycol = yvar, keep_year = FALSE)
      sub_full <- make_sub_full(d1)
      if (is.null(sub_full)) next

      covs_full <- region_covs(sub_full)

      plc <- run_placebo_curve(
        y = sub_full$Y,
        x = sub_full$X,
        covs = covs_full,
        placebo_km_seq = PLACEBO_KM_SEQ,
        p = P,
        label_prefix = paste0("PLACEBO | ", yvar, " | Year=", yr)
      )

      if (nrow(plc) > 0) {
        plc <- plc %>% mutate(sample = "FULL_ITALY_regFE", outcome = yvar, year = yr)
        placebo_all[[length(placebo_all) + 1]] <- plc

        g <- plot_placebo_curve(plc, outcome = yvar, year = yr, sample = "FULL_ITALY_regFE",
                                subtitle = "Artificial cutoffs: -30..-10 km (treated side) and +10..+30 km (control side)")
        print(g)
      }
    }

  } else {

    d1 <- collapse_one_row_per_muni(df0, keycol = KEYCOL, xcol = RUNNING, ycol = yvar, keep_year = FALSE)
    sub_full <- make_sub_full(d1)
    if (is.null(sub_full)) next

    covs_full <- region_covs(sub_full)

    plc <- run_placebo_curve(
      y = sub_full$Y,
      x = sub_full$X,
      covs = covs_full,
      placebo_km_seq = PLACEBO_KM_SEQ,
      p = P,
      label_prefix = paste0("PLACEBO | ", yvar)
    )

    if (nrow(plc) > 0) {
      plc <- plc %>% mutate(sample = "FULL_ITALY_regFE", outcome = yvar, year = NA_integer_)
      placebo_all[[length(placebo_all) + 1]] <- plc

      g <- plot_placebo_curve(plc, outcome = yvar, year = NA, sample = "FULL_ITALY_regFE",
                              subtitle = "Artificial cutoffs: -30..-10 km (treated side) and +10..+30 km (control side)")
      print(g)
    }
  }
}

dev.off()
## quartz_off_screen 
##                 2
placebo_all_df <- dplyr::bind_rows(placebo_all)
if (nrow(placebo_all_df) > 0) {
  readr::write_csv(placebo_all_df, placebo_csv_all)
  cat("[Placebo curve] Wrote: ", placebo_csv_all, " | rows=", nrow(placebo_all_df), "
", sep = "")
  cat("[Placebo curve] Plots: ", placebo_pdf_all, "
", sep = "")
} else {
  cat("[Placebo curve] No placebo results (insufficient data around placebo cutoffs for all outcomes).
")
}
## [Placebo curve] Wrote: output/placebo_curve_All_Italy_regFE.csv | rows=180
## [Placebo curve] Plots: output/placebo_curve_All_Italy_regFE.pdf
# ------------------------------------------------------------
# Donut RD (Full Italy, region FE)
# Exclude 5 km around cutoff => drop |X| < 2.5 km
# ------------------------------------------------------------
donut_all <- list()

for (yvar in OUTCOMES) {

  if (!(yvar %in% names(df0))) next

  if (yvar == "Pillar2_pol" && ("year" %in% names(df0))) {

    for (yr in YEARS) {

      dY <- df0 %>% filter(year == yr)
      d1 <- collapse_one_row_per_muni(dY, keycol = KEYCOL, xcol = RUNNING, ycol = yvar, keep_year = FALSE)

      d1_donut <- apply_donut_symmetric(d1, donut_km = DONUT_FULL_SYM_KM)

      # MANUAL bandwidths
      for (h in BWS_KM) {
        sub <- make_sub(d1_donut, h)
        if (is.null(sub)) next

        covs <- region_covs(sub)

        rb <- safe_rdrobust(sub$Y, sub$X, h = h, p = P, covs = covs,
                            label = paste0("DONUT FullItaly | ", yvar, " | Year=", yr, " | h=", h))
        if (is.null(rb)) next

        donut_all[[length(donut_all) + 1]] <-
          extract_rdrobust(rb, outcome = yvar, h = h, sample = "FULL_ITALY_DONUT5km", year = yr, h_type = "MANUAL")
      }

      # AUTO bandwidth
      sub_full <- make_sub_full(d1_donut)
      if (!is.null(sub_full)) {
        covs_full <- region_covs(sub_full)
        rb_auto <- safe_rdrobust(sub_full$Y, sub_full$X, p = P, covs = covs_full,
                                 label = paste0("DONUT FullItaly AUTO | ", yvar, " | Year=", yr))
        if (!is.null(rb_auto)) {
          donut_all[[length(donut_all) + 1]] <-
            extract_rdrobust(rb_auto, outcome = yvar, h = NA_real_, sample = "FULL_ITALY_DONUT5km", year = yr, h_type = "AUTO")
        }
      }
    }

  } else {

    d1 <- collapse_one_row_per_muni(df0, keycol = KEYCOL, xcol = RUNNING, ycol = yvar, keep_year = FALSE)
    d1_donut <- apply_donut_symmetric(d1, donut_km = DONUT_FULL_SYM_KM)

    for (h in BWS_KM) {
      sub <- make_sub(d1_donut, h)
      if (is.null(sub)) next

      covs <- region_covs(sub)

      rb <- safe_rdrobust(sub$Y, sub$X, h = h, p = P, covs = covs,
                          label = paste0("DONUT FullItaly | ", yvar, " | h=", h))
      if (is.null(rb)) next

      donut_all[[length(donut_all) + 1]] <-
        extract_rdrobust(rb, outcome = yvar, h = h, sample = "FULL_ITALY_DONUT5km", year = NA_integer_, h_type = "MANUAL")
    }

    sub_full <- make_sub_full(d1_donut)
    if (!is.null(sub_full)) {
      covs_full <- region_covs(sub_full)
      rb_auto <- safe_rdrobust(sub_full$Y, sub_full$X, p = P, covs = covs_full,
                               label = paste0("DONUT FullItaly AUTO | ", yvar))
      if (!is.null(rb_auto)) {
        donut_all[[length(donut_all) + 1]] <-
          extract_rdrobust(rb_auto, outcome = yvar, h = NA_real_, sample = "FULL_ITALY_DONUT5km", year = NA_integer_, h_type = "AUTO")
      }
    }
  }
}

donut_all_df <- dplyr::bind_rows(donut_all)
if (nrow(donut_all_df) > 0) {
  readr::write_csv(donut_all_df, donut_csv_all)
  cat("[Donut RD | Full Italy] Wrote: ", donut_csv_all, " | rows=", nrow(donut_all_df), "
", sep = "")
} else {
  cat("[Donut RD | Full Italy] No donut RD results produced (insufficient data after donut exclusion).
")
}
## [Donut RD | Full Italy] Wrote: output/rdrobust_results_All_Italy_regFE_DONUT5km.csv | rows=72

Run Lombardia-only RD without regional fixed effects (post distance update)

df_lombardia <- df0 %>%
  filter(as.integer(.data[[REGION]]) == REGION_CODE_LOMBARDIA)

# --- LIST: Lombardia control-side municipalities (distance < 0) ---

# pick name column robustly
NAMECOL <- if ("COMUNE" %in% names(df_lombardia)) "COMUNE" else stop("COMUNE column not found in df_lombardia")

lomb_control_muni <- df_lombardia %>%
  mutate(X = as.numeric(.data[[RUNNING]])) %>%
  filter(!is.na(.data[[KEYCOL]]), !is.na(X), !is.na(.data[[NAMECOL]])) %>%
  group_by(.data[[KEYCOL]]) %>%
  summarise(
    COMUNE = dplyr::first(.data[[NAMECOL]]),
    X_km   = mean(X, na.rm = TRUE),                 # one distance per municipality
    Treated = dplyr::first(as.integer(Treated)),
    COD_PROV = dplyr::first(if ("COD_PROV" %in% names(df_lombardia)) as.integer(COD_PROV) else NA_integer_),
    .groups = "drop"
  ) %>%
  filter(X_km < 0) %>%
  arrange(X_km, COMUNE)

cat("\n=== Lombardia (ireg==3): CONTROL side municipalities (X < 0) ===\n")
## 
## === Lombardia (ireg==3): CONTROL side municipalities (X < 0) ===
cat("Count (unique comuni): ", nrow(lomb_control_muni), "\n", sep = "")
## Count (unique comuni): 133
print(lomb_control_muni %>% dplyr::select(COMUNE, X_km, Treated, COD_PROV), n = Inf)
## # A tibble: 133 × 4
##     COMUNE                         X_km Treated COD_PROV
##     <chr>                         <dbl>   <int>    <int>
##   1 Brallo di Pregola            -31.0        0       18
##   2 Santa Margherita di Staffora -29.9        0       18
##   3 Cecima                       -28.3        0       18
##   4 Rivanazzano Terme            -27.5        0       18
##   5 Bagnaria                     -26.6        0       18
##   6 Godiasco Salice Terme        -26.0        0       18
##   7 Ponte Nizza                  -25.1        0       18
##   8 Retorbido                    -25.0        0       18
##   9 Varzi                        -24.2        0       18
##  10 Codevilla                    -23.2        0       18
##  11 Menconico                    -22.8        0       18
##  12 Voghera                      -22.6        0       18
##  13 Rocca Susella                -22.4        0       18
##  14 Frascarolo                   -22.3        0       18
##  15 Suardi                       -21.7        0       18
##  16 Casei Gerola                 -21.3        0       18
##  17 Montesegale                  -21.0        0       18
##  18 Torrazza Coste               -20.9        0       18
##  19 Montebello della Battaglia   -20.0        0       18
##  20 Val di Nizza                 -20.0        0       18
##  21 Torre Beretti e Castellaro   -19.9        0       18
##  22 Gambarana                    -19.9        0       18
##  23 Lungavilla                   -19.1        0       18
##  24 Pizzale                      -19.0        0       18
##  25 Romagnese                    -18.0        0       18
##  26 Verretto                     -17.9        0       18
##  27 Silvano Pietra               -17.4        0       18
##  28 Sartirana Lomellina          -17.2        0       18
##  29 Borgo Priolo                 -17.1        0       18
##  30 Casteggio                    -17.1        0       18
##  31 Pieve del Cairo              -17.0        0       18
##  32 Fortunago                    -16.9        0       18
##  33 Palestro                     -16.8        0       18
##  34 Cervesina                    -16.4        0       18
##  35 Casatisma                    -16.4        0       18
##  36 Breme                        -16.3        0       18
##  37 Robecco Pavese               -16.2        0       18
##  38 Zavattarello                 -16.1        0       18
##  39 Mezzana Bigli                -15.8        0       18
##  40 Castelletto di Branduzzo     -15.7        0       18
##  41 Pancarana                    -15.5        0       18
##  42 Corana                       -15.5        0       18
##  43 Mede                         -15.5        0       18
##  44 Langosco                     -15.4        0       18
##  45 Corvino San Quirico          -15.3        0       18
##  46 Candia Lomellina             -15.2        0       18
##  47 Calvignano                   -14.8        0       18
##  48 Villa Biscossi               -14.5        0       18
##  49 Rosasco                      -14.3        0       18
##  50 Torricella Verzate           -14.2        0       18
##  51 Confienza                    -13.9        0       18
##  52 Borgoratto Mormorolo         -13.9        0       18
##  53 Santa Giuletta               -13.2        0       18
##  54 Bressana Bottarone           -13.1        0       18
##  55 Oliva Gessi                  -13.1        0       18
##  56 Galliavola                   -12.9        0       18
##  57 Pinarolo Po                  -12.9        0       18
##  58 Mezzana Rabattone            -12.8        0       18
##  59 Bastida Pancarana            -12.7        0       18
##  60 Semiana                      -12.5        0       18
##  61 Sannazzaro de' Burgondi      -11.9        0       18
##  62 Valle Lomellina              -11.9        0       18
##  63 Redavalle                    -11.7        0       18
##  64 Ferrera Erbognone            -11.7        0       18
##  65 Pieve Albignola              -11.4        0       18
##  66 Cozzo                        -11.4        0       18
##  67 Barbianello                  -11.2        0       18
##  68 Lomello                      -10.9        0       18
##  69 Montalto Pavese              -10.9        0       18
##  70 Mornico Losana               -10.9        0       18
##  71 Robbio                       -10.8        0       18
##  72 Sommo                        -10.7        0       18
##  73 Zinasco                      -10.4        0       18
##  74 Velezzo Lomellina            -10.1        0       18
##  75 Castelnovetto                 -9.74       0       18
##  76 Verrua Po                     -9.64       0       18
##  77 Rocca de' Giorgi              -9.57       0       18
##  78 Casanova Lonati               -9.26       0       18
##  79 Cava Manara                   -8.60       0       18
##  80 Pietra de' Giorgi             -8.55       0       18
##  81 Zeme                          -8.55       0       18
##  82 Rea                           -8.50       0       18
##  83 Broni                         -8.47       0       18
##  84 Cigognola                     -8.44       0       18
##  85 Scaldasole                    -8.36       0       18
##  86 Sant'Angelo Lomellina         -8.22       0       18
##  87 Mezzanino                     -8.00       0       18
##  88 Volpara                       -7.71       0       18
##  89 Campospinoso Albaredo         -7.33       0       18
##  90 Lirio                         -7.27       0       18
##  91 Montecalvo Versiggia          -6.73       0       18
##  92 Nicorvo                       -6.67       0       18
##  93 Borgo San Siro                -6.67       0       18
##  94 Valeggio                      -6.64       0       18
##  95 San Giorgio di Lomellina      -6.58       0       18
##  96 Ottobiano                     -6.35       0       18
##  97 Golferenzo                    -6.35       0       18
##  98 Dorno                         -6.32       0       18
##  99 Garlasco                      -6.30       0       18
## 100 Tromello                      -6.30       0       18
## 101 Carbonara al Ticino           -6.30       0       18
## 102 Ceretto Lomellina             -6.14       0       18
## 103 Cergnago                      -5.86       0       18
## 104 Castana                       -5.83       0       18
## 105 Canneto Pavese                -5.77       0       18
## 106 San Martino Siccomario        -5.66       0       18
## 107 Villanova d'Ardenghi          -5.58       0       18
## 108 Travacò Siccomario           -5.32       0       18
## 109 Castello d'Agogna             -5.28       0       18
## 110 Alagna                        -5.25       0       18
## 111 Stradella                     -5.19       0       18
## 112 Olevano di Lomellina          -5.08       0       18
## 113 Montescano                    -4.94       0       18
## 114 Gropello Cairoli              -4.70       0       18
## 115 Gambolò                      -4.62       0       18
## 116 Zerbolò                      -4.39       0       18
## 117 Cassolnovo                    -4.11       0       18
## 118 Gravellona Lomellina          -3.95       0       18
## 119 Santa Maria della Versa       -3.88       0       18
## 120 San Cipriano Po               -3.86       0       18
## 121 Mortara                       -3.83       0       18
## 122 Albonese                      -3.74       0       18
## 123 Vigevano                      -3.57       0       18
## 124 Arena Po                      -3.08       0       18
## 125 Bosnasco                      -3.03       0       18
## 126 Cilavegna                     -2.76       0       18
## 127 Parona                        -2.76       0       18
## 128 Portalbera                    -2.68       0       18
## 129 Montù Beccaria               -2.65       0       18
## 130 Rovescala                     -2.55       0       18
## 131 San Damiano al Colle          -2.55       0       18
## 132 Tronzano Lago Maggiore        -2.42       0       12
## 133 Zenevredo                     -2.19       0       18
# optional export
lomb_control_out <- file.path(OUTDIR, "lombardia_control_municipalities_distance_lt_0.csv")
readr::write_csv(lomb_control_muni, lomb_control_out)
cat("Wrote: ", lomb_control_out, "\n", sep = "")
## Wrote: output/lombardia_control_municipalities_distance_lt_0.csv
sink(results_txt_lomb, split = TRUE)

cat("Using DF: Lombardia only (ireg==3) | rows=", nrow(df_lombardia),
    " | key=", KEYCOL,
    " | yearcol=", ifelse("year" %in% names(df_lombardia), "year", NA),
    "\n", sep = "")
## Using DF: Lombardia only (ireg==3) | rows=2814 | key=istat | yearcol=year
cat("Running var: ", RUNNING, " (KM) | manual bandwidths=", paste(BWS_KM, collapse = ", "),
    " | p=", P, " | NO regional FE\n\n", sep = "")
## Running var: distance_treated_positive_x (KM) | manual bandwidths=30, 40, 50 | p=1 | NO regional FE
pdf(plots_pdf_lomb, width = 6, height = 4.5)

# Difference-in-means accumulator (Lombardia) at h = 40 km
lomb_dm40 <- list()

for (yvar in OUTCOMES) {

  if (!(yvar %in% names(df_lombardia))) {
    cat("\n[Skip] Missing outcome: ", yvar, "\n", sep = "")
    next
  }

  # --- Pillar2_pol: run separately by year (2010/2020) ---
  if (yvar == "Pillar2_pol" && ("year" %in% names(df_lombardia))) {

    for (yr in YEARS) {

      dY <- df_lombardia %>% filter(year == yr)
      d1 <- collapse_one_row_per_muni(dY, keycol = KEYCOL, xcol = RUNNING, ycol = yvar, keep_year = FALSE)

      # Difference in means (treated - control) within |X| <= 40 km (Lombardia)
      dm <- diff_means_test(d1, h = H_DM)
      if (!is.null(dm)) {
        lomb_dm40[[length(lomb_dm40) + 1]] <- dm %>%
          mutate(sample = "LOMBARDIA_noFE", outcome = yvar, year = yr)
        cat("[Lombardia diff-means] h=", H_DM, " km | outcome=", yvar, " | year=", yr,
            " | diff=", signif(dm$diff_treat_minus_control, 4),
            " | p=", signif(dm$p_value, 4),
            " | N_t=", dm$n_treated, " N_c=", dm$n_control, "\n", sep = "")
      } else {
        cat("[Lombardia diff-means] Skip: insufficient treated/control data within ±", H_DM,
            " km for outcome=", yvar, " year=", yr, "\n", sep = "")
      }

      cat("\n", strrep("=", 110), "\n", sep = "")
      cat("Outcome: ", yvar, " | Year=", yr, " | LOMBARDIA ONLY | p=", P, " | X in KM | NO region FE\n", sep = "")
      cat(strrep("=", 110), "\n", sep = "")

      # RD plots (raw only) for MANUAL bandwidths
      for (h in BWS_KM) {
        sub <- make_sub_noFE(d1, h)
        if (is.null(sub)) {
          cat("[Skip plot] ", yvar, " Year=", yr, " h=", h, "km: too little usable data/variation\n", sep = "")
          next
        }

        rdplot(sub$Y, sub$X, h = h, p = P, binselect = "esmv",
               x.label = "Distance to Cutoff (km)",
               y.label = yvar,
               title = paste0(yvar, " | Year=", yr, " | Lombardia | raw | h=", h, " km"))
      }

      # RD tables (MANUAL bandwidths)
      for (h in BWS_KM) {
        sub <- make_sub_noFE(d1, h)
        if (is.null(sub)) {
          cat("[Skip rdrobust] ", yvar, " Year=", yr, " h=", h, "km: too little usable data/variation\n", sep = "")
          next
        }

        cat("\n", strrep("-", 90), "\n", sep = "")
        cat("RDROBUST — ", yvar, " | Year=", yr, " | h=", h, " km | p=", P,
            " | N used=", nrow(sub), " | NO region FE\n", sep = "")
        cat(strrep("-", 90), "\n", sep = "")

        rb <- rdrobust(sub$Y, sub$X, h = h, p = P)
        print(summary(rb))

        all_results[[length(all_results) + 1]] <- extract_rdrobust(rb, outcome = yvar, h = h, sample = "LOMBARDIA_noFE", year = yr, h_type = "MANUAL")
      }

      # RD table (AUTO bandwidth)
      sub_full <- make_sub_full_noFE(d1)
      if (is.null(sub_full)) {
        cat("[Skip AUTO rdrobust] ", yvar, " Year=", yr, ": too little usable data/variation\n", sep = "")
      } else {

        cat("\n", strrep("-", 90), "\n", sep = "")
        cat("RDROBUST — ", yvar, " | Year=", yr, " | AUTO bandwidth (default) | p=", P,
            " | N used=", nrow(sub_full), " | NO region FE\n", sep = "")
        cat(strrep("-", 90), "\n", sep = "")

        rb_auto <- rdrobust(sub_full$Y, sub_full$X, p = P)
        print(summary(rb_auto))

        all_results[[length(all_results) + 1]] <-
          extract_rdrobust(rb_auto, outcome = yvar, h = NA_real_, sample = "LOMBARDIA_noFE", year = yr, h_type = "AUTO")

        # Optional plot using h_plot = max(bws)
        if (!is.null(rb_auto$bws) && all(is.finite(rb_auto$bws))) {
          h_plot <- max(rb_auto$bws)
          sub_plot <- make_sub_noFE(d1, h_plot)
          if (!is.null(sub_plot)) {
            rdplot(sub_plot$Y, sub_plot$X, h = h_plot, p = P, binselect = "esmv",
                   x.label = "Distance to Cutoff (km)",
                   y.label = yvar,
                   title = paste0(yvar, " | Year=", yr, " | Lombardia | AUTO bw plot | h_plot=", round(h_plot, 2), " km"))
          }
        }
      }
    }

    next
  }

  # --- All other outcomes: collapse to 1 row per municipality ---
  d1 <- collapse_one_row_per_muni(df_lombardia, keycol = KEYCOL, xcol = RUNNING, ycol = yvar, keep_year = FALSE)

  # Difference in means (treated - control) within |X| <= 40 km (Lombardia)
  dm <- diff_means_test(d1, h = H_DM)
  if (!is.null(dm)) {
    lomb_dm40[[length(lomb_dm40) + 1]] <- dm %>%
      mutate(sample = "LOMBARDIA_noFE", outcome = yvar, year = NA_integer_)
    cat("[Lombardia diff-means] h=", H_DM, " km | outcome=", yvar,
        " | diff=", signif(dm$diff_treat_minus_control, 4),
        " | p=", signif(dm$p_value, 4),
        " | N_t=", dm$n_treated, " N_c=", dm$n_control, "\n", sep = "")
  } else {
    cat("[Lombardia diff-means] Skip: insufficient treated/control data within ±", H_DM,
        " km for outcome=", yvar, "\n", sep = "")
  }

  cat("\n", strrep("=", 110), "\n", sep = "")
  cat("Outcome: ", yvar, " | LOMBARDIA ONLY | p=", P, " | X in KM | NO region FE\n", sep = "")
  cat(strrep("=", 110), "\n", sep = "")

  # RD plots (raw only) for MANUAL bandwidths
  for (h in BWS_KM) {
    sub <- make_sub_noFE(d1, h)
    if (is.null(sub)) {
      cat("[Skip plot] ", yvar, " h=", h, "km: too little usable data/variation\n", sep = "")
      next
    }

    rdplot(sub$Y, sub$X, h = h, p = P, binselect = "qsmv",
           x.label = "Distance to Cutoff (km)",
           y.label = yvar,
           title = paste0(yvar, " | Lombardia | raw | h=", h, " km"))
  }

  # RD tables (MANUAL bandwidths)
  for (h in BWS_KM) {
    sub <- make_sub_noFE(d1, h)
    if (is.null(sub)) {
      cat("[Skip rdrobust] ", yvar, " h=", h, "km: too little usable data/variation\n", sep = "")
      next
    }

    cat("\n", strrep("-", 90), "\n", sep = "")
    cat("RDROBUST — ", yvar, " | h=", h, " km | p=", P,
        " | N used=", nrow(sub), " | NO region FE\n", sep = "")
    cat(strrep("-", 90), "\n", sep = "")

    rb <- rdrobust(sub$Y, sub$X, h = h, p = P)
    print(summary(rb))

    all_results[[length(all_results) + 1]] <- extract_rdrobust(rb, outcome = yvar, h = h, sample = "LOMBARDIA_noFE", year = NA_integer_, h_type = "MANUAL")
  }

  # RD table (AUTO bandwidth)
  sub_full <- make_sub_full_noFE(d1)
  if (is.null(sub_full)) {
    cat("[Skip AUTO rdrobust] ", yvar, ": too little usable data/variation\n", sep = "")
  } else {

    cat("\n", strrep("-", 90), "\n", sep = "")
    cat("RDROBUST — ", yvar, " | AUTO bandwidth (default) | p=", P,
        " | N used=", nrow(sub_full), " | NO region FE\n", sep = "")
    cat(strrep("-", 90), "\n", sep = "")

    rb_auto <- rdrobust(sub_full$Y, sub_full$X, p = P)
    print(summary(rb_auto))

    all_results[[length(all_results) + 1]] <-
      extract_rdrobust(rb_auto, outcome = yvar, h = NA_real_, sample = "LOMBARDIA_noFE", year = NA_integer_, h_type = "AUTO")

    # Optional plot using h_plot = max(bws)
    if (!is.null(rb_auto$bws) && all(is.finite(rb_auto$bws))) {
      h_plot <- max(rb_auto$bws)
      sub_plot <- make_sub_noFE(d1, h_plot)
      if (!is.null(sub_plot)) {
        rdplot(sub_plot$Y, sub_plot$X, h = h_plot, p = P, binselect = "qsmv",
               x.label = "Distance to Cutoff (km)",
               y.label = yvar,
               title = paste0(yvar, " | Lombardia | AUTO bw plot | h_plot=", round(h_plot, 2), " km"))
      }
    }
  }
}
## [Lombardia diff-means] h=40 km | outcome=gb_intensity | diff=-0.01197 | p=2.908e-07 | N_t=694 N_c=133
## 
## ==============================================================================================================
## Outcome: gb_intensity | LOMBARDIA ONLY | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — gb_intensity | h=30 km | p=1 | N used=700 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  700
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          568
## Eff. Number of Obs.             132          568
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          568
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -0.007     0.004    -1.895     0.058    [-0.014 , 0.000]     
##         Robust         -         -     0.951     0.342    [-0.007 , 0.020]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — gb_intensity | h=40 km | p=1 | N used=827 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  827
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133          694
## Eff. Number of Obs.             133          694
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     133          694
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -0.009     0.003    -2.605     0.009    [-0.016 , -0.002]    
##         Robust         -         -     0.719     0.472    [-0.007 , 0.016]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — gb_intensity | h=50 km | p=1 | N used=985 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  985
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133          852
## Eff. Number of Obs.             133          852
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     133          852
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -0.011     0.003    -3.326     0.001    [-0.018 , -0.005]    
##         Robust         -         -     0.959     0.338    [-0.006 , 0.017]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — gb_intensity | AUTO bandwidth (default) | p=1 | N used=1417 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1417
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133         1284
## Eff. Number of Obs.              26          131
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                   5.565        5.565
## BW bias (b)                  12.381       12.381
## rho (h/b)                     0.449        0.449
## Unique Obs.                     130         1268
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.051     0.011     4.686     0.000     [0.030 , 0.073]     
##         Robust         -         -     4.349     0.000     [0.032 , 0.085]     
## =============================================================================
## NULL
## [Lombardia diff-means] h=40 km | outcome=gb_reg_rate | diff=0.06762 | p=9.281e-09 | N_t=694 N_c=133
## 
## ==============================================================================================================
## Outcome: gb_reg_rate | LOMBARDIA ONLY | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — gb_reg_rate | h=30 km | p=1 | N used=700 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  700
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          568
## Eff. Number of Obs.             132          568
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          568
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.070     0.024     2.888     0.004     [0.023 , 0.118]     
##         Robust         -         -     1.606     0.108    [-0.014 , 0.137]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — gb_reg_rate | h=40 km | p=1 | N used=827 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  827
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133          694
## Eff. Number of Obs.             133          694
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     133          694
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.068     0.022     3.051     0.002     [0.024 , 0.111]     
##         Robust         -         -     2.552     0.011     [0.020 , 0.154]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — gb_reg_rate | h=50 km | p=1 | N used=985 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  985
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133          852
## Eff. Number of Obs.             133          852
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     133          852
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.075     0.021     3.585     0.000     [0.034 , 0.116]     
##         Robust         -         -     2.705     0.007     [0.024 , 0.150]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — gb_reg_rate | AUTO bandwidth (default) | p=1 | N used=1417 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1417
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133         1284
## Eff. Number of Obs.              45          174
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                   7.633        7.633
## BW bias (b)                  15.428       15.428
## rho (h/b)                     0.495        0.495
## Unique Obs.                     130         1268
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.022     0.055     0.398     0.690    [-0.086 , 0.130]     
##         Robust         -         -     0.005     0.996    [-0.141 , 0.142]     
## =============================================================================
## NULL
## [Lombardia diff-means] h=40 km | outcome=evasione | diff=-2.774 | p=0.0002511 | N_t=688 N_c=133
## 
## ==============================================================================================================
## Outcome: evasione | LOMBARDIA ONLY | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — evasione | h=30 km | p=1 | N used=696 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  696
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          564
## Eff. Number of Obs.             132          564
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          564
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -1.272     1.462    -0.870     0.384    [-4.137 , 1.593]     
##         Robust         -         -     0.578     0.563    [-3.230 , 5.930]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — evasione | h=40 km | p=1 | N used=821 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  821
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133          688
## Eff. Number of Obs.             133          688
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     133          688
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -1.675     1.401    -1.196     0.232    [-4.422 , 1.071]     
##         Robust         -         -    -0.192     0.848    [-4.514 , 3.709]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — evasione | h=50 km | p=1 | N used=978 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  978
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133          845
## Eff. Number of Obs.             133          845
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     133          845
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -2.127     1.381    -1.540     0.123    [-4.833 , 0.579]     
##         Robust         -         -    -0.676     0.499    [-5.356 , 2.608]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — evasione | AUTO bandwidth (default) | p=1 | N used=1397 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1397
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133         1264
## Eff. Number of Obs.              31          136
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                   5.976        5.976
## BW bias (b)                  13.060       13.060
## rho (h/b)                     0.458        0.458
## Unique Obs.                     130         1248
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     2.834     4.301     0.659     0.510    [-5.596 , 11.264]    
##         Robust         -         -     0.929     0.353    [-5.483 , 15.358]    
## =============================================================================
## NULL
## [Lombardia diff-means] h=40 km | outcome=services_level | diff=2.481 | p=2.27e-16 | N_t=688 N_c=133
## 
## ==============================================================================================================
## Outcome: services_level | LOMBARDIA ONLY | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — services_level | h=30 km | p=1 | N used=696 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  696
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          564
## Eff. Number of Obs.             132          564
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          564
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     1.373     0.595     2.308     0.021     [0.207 , 2.538]     
##         Robust         -         -     1.033     0.302    [-0.945 , 3.049]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — services_level | h=40 km | p=1 | N used=821 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  821
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133          688
## Eff. Number of Obs.             133          688
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     133          688
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     1.459     0.549     2.659     0.008     [0.383 , 2.534]     
##         Robust         -         -     1.157     0.247    [-0.743 , 2.883]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — services_level | h=50 km | p=1 | N used=978 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  978
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133          845
## Eff. Number of Obs.             133          845
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     133          845
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     1.521     0.531     2.862     0.004     [0.480 , 2.563]     
##         Robust         -         -     1.228     0.220    [-0.659 , 2.868]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — services_level | AUTO bandwidth (default) | p=1 | N used=1397 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1397
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133         1264
## Eff. Number of Obs.              43          164
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                   6.960        6.960
## BW bias (b)                  13.946       13.946
## rho (h/b)                     0.499        0.499
## Unique Obs.                     130         1248
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     2.342     1.867     1.254     0.210    [-1.318 , 6.001]     
##         Robust         -         -     0.979     0.328    [-2.422 , 7.253]     
## =============================================================================
## NULL
## [Lombardia diff-means] h=40 km | outcome=Admin_Tax_Emp | diff=0.143 | p=0.05524 | N_t=226 N_c=49
## 
## ==============================================================================================================
## Outcome: Admin_Tax_Emp | LOMBARDIA ONLY | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Admin_Tax_Emp | h=30 km | p=1 | N used=235 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  235
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                   49          186
## Eff. Number of Obs.              49          186
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                      49          186
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.059     0.100     0.589     0.556    [-0.137 , 0.256]     
##         Robust         -         -     0.802     0.422    [-0.132 , 0.316]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Admin_Tax_Emp | h=40 km | p=1 | N used=275 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  275
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                   49          226
## Eff. Number of Obs.              49          226
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                      49          226
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.104     0.073     1.428     0.153    [-0.039 , 0.247]     
##         Robust         -         -    -0.256     0.798    [-0.326 , 0.250]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Admin_Tax_Emp | h=50 km | p=1 | N used=309 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  309
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                   49          260
## Eff. Number of Obs.              49          260
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                      49          260
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.139     0.065     2.138     0.033     [0.012 , 0.267]     
##         Robust         -         -    -0.396     0.692    [-0.358 , 0.238]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Admin_Tax_Emp | AUTO bandwidth (default) | p=1 | N used=396 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  396
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                   49          347
## Eff. Number of Obs.              12           34
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                   5.390        5.390
## BW bias (b)                  10.035       10.035
## rho (h/b)                     0.537        0.537
## Unique Obs.                      49          346
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.104     0.243     0.426     0.670    [-0.373 , 0.580]     
##         Robust         -         -     0.459     0.646    [-0.484 , 0.780]     
## =============================================================================
## NULL
## [Lombardia diff-means] h=40 km | outcome=edu_serv_lvl | diff=1.399 | p=1.68e-07 | N_t=671 N_c=121
## 
## ==============================================================================================================
## Outcome: edu_serv_lvl | LOMBARDIA ONLY | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_serv_lvl | h=30 km | p=1 | N used=673 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  673
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  120          553
## Eff. Number of Obs.             120          553
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     120          553
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.758     0.502     1.511     0.131    [-0.226 , 1.743]     
##         Robust         -         -     0.065     0.948    [-1.626 , 1.739]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_serv_lvl | h=40 km | p=1 | N used=792 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  792
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  121          671
## Eff. Number of Obs.             121          671
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     121          671
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     1.059     0.467     2.269     0.023     [0.144 , 1.973]     
##         Robust         -         -     0.189     0.850    [-1.345 , 1.632]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_serv_lvl | h=50 km | p=1 | N used=945 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  945
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  121          824
## Eff. Number of Obs.             121          824
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     121          824
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     1.220     0.452     2.698     0.007     [0.334 , 2.106]     
##         Robust         -         -     0.604     0.546    [-0.986 , 1.864]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_serv_lvl | AUTO bandwidth (default) | p=1 | N used=1357 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1357
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  121         1236
## Eff. Number of Obs.              49          201
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                   8.586        8.586
## BW bias (b)                  17.004       17.004
## rho (h/b)                     0.505        0.505
## Unique Obs.                     118         1221
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.767     1.226     0.626     0.531    [-1.635 , 3.169]     
##         Robust         -         -     0.633     0.527    [-2.064 , 4.034]     
## =============================================================================
## NULL
## [Lombardia diff-means] h=40 km | outcome=edu_muni_school_area_per1000 | diff=3.24 | p=0.0001055 | N_t=688 N_c=133
## 
## ==============================================================================================================
## Outcome: edu_muni_school_area_per1000 | LOMBARDIA ONLY | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_muni_school_area_per1000 | h=30 km | p=1 | N used=696 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  696
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          564
## Eff. Number of Obs.             132          564
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          564
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     3.852     1.598     2.411     0.016     [0.721 , 6.983]     
##         Robust         -         -     0.200     0.842    [-5.073 , 6.223]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_muni_school_area_per1000 | h=40 km | p=1 | N used=821 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  821
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133          688
## Eff. Number of Obs.             133          688
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     133          688
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     4.518     1.475     3.063     0.002     [1.627 , 7.410]     
##         Robust         -         -     0.794     0.427    [-3.046 , 7.193]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_muni_school_area_per1000 | h=50 km | p=1 | N used=978 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  978
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133          845
## Eff. Number of Obs.             133          845
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     133          845
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     4.801     1.434     3.348     0.001     [1.991 , 7.611]     
##         Robust         -         -     1.320     0.187    [-1.632 , 8.359]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_muni_school_area_per1000 | AUTO bandwidth (default) | p=1 | N used=1397 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1397
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133         1264
## Eff. Number of Obs.              31          136
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                   5.957        5.957
## BW bias (b)                  12.785       12.785
## rho (h/b)                     0.466        0.466
## Unique Obs.                     130         1248
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.663     5.988     0.111     0.912   [-11.074 , 12.400]    
##         Robust         -         -    -0.241     0.809   [-16.264 , 12.701]    
## =============================================================================
## NULL
## [Lombardia diff-means] h=40 km | outcome=edu_emp_per1000 | diff=0.06333 | p=0.0002704 | N_t=351 N_c=81
## 
## ==============================================================================================================
## Outcome: edu_emp_per1000 | LOMBARDIA ONLY | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_emp_per1000 | h=30 km | p=1 | N used=366 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  366
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                   81          285
## Eff. Number of Obs.              81          285
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                      81          285
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -0.006     0.051    -0.113     0.910    [-0.105 , 0.094]     
##         Robust         -         -    -1.200     0.230    [-0.270 , 0.065]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_emp_per1000 | h=40 km | p=1 | N used=432 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  432
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                   81          351
## Eff. Number of Obs.              81          351
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                      81          351
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.022     0.046     0.485     0.627    [-0.068 , 0.112]     
##         Robust         -         -    -1.009     0.313    [-0.231 , 0.074]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_emp_per1000 | h=50 km | p=1 | N used=491 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  491
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                   81          410
## Eff. Number of Obs.              81          410
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                      81          410
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.037     0.044     0.850     0.395    [-0.049 , 0.124]     
##         Robust         -         -    -0.723     0.470    [-0.202 , 0.093]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_emp_per1000 | AUTO bandwidth (default) | p=1 | N used=693 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  693
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                   81          612
## Eff. Number of Obs.              33          107
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                   9.000        9.000
## BW bias (b)                  14.251       14.251
## rho (h/b)                     0.632        0.632
## Unique Obs.                      80          606
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -0.105     0.095    -1.111     0.266    [-0.291 , 0.080]     
##         Robust         -         -    -1.050     0.294    [-0.373 , 0.113]     
## =============================================================================
## NULL
## [Lombardia diff-means] h=40 km | outcome=PublS_CyclePath_per | diff=6.738 | p=7.322e-17 | N_t=680 N_c=133
## 
## ==============================================================================================================
## Outcome: PublS_CyclePath_per | LOMBARDIA ONLY | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — PublS_CyclePath_per | h=30 km | p=1 | N used=690 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  690
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          558
## Eff. Number of Obs.             132          558
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          558
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     4.406     2.544     1.732     0.083    [-0.579 , 9.392]     
##         Robust         -         -    -0.028     0.978    [-8.923 , 8.674]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — PublS_CyclePath_per | h=40 km | p=1 | N used=813 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  813
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133          680
## Eff. Number of Obs.             133          680
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     133          680
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     5.229     2.270     2.303     0.021     [0.780 , 9.678]     
##         Robust         -         -     0.290     0.772    [-6.636 , 8.939]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — PublS_CyclePath_per | h=50 km | p=1 | N used=969 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  969
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133          836
## Eff. Number of Obs.             133          836
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     133          836
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     5.598     2.150     2.603     0.009     [1.383 , 9.812]     
##         Robust         -         -     0.532     0.595    [-5.378 , 9.380]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — PublS_CyclePath_per | AUTO bandwidth (default) | p=1 | N used=1385 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1385
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133         1252
## Eff. Number of Obs.              60          234
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  10.167       10.167
## BW bias (b)                  16.241       16.241
## rho (h/b)                     0.626        0.626
## Unique Obs.                     130         1236
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -0.064     5.088    -0.012     0.990   [-10.037 , 9.910]     
##         Robust         -         -    -0.200     0.842   [-14.054 , 11.453]    
## =============================================================================
## NULL
## [Lombardia diff-means] h=40 km | outcome=pol_mun_road | diff=13.15 | p=0.02435 | N_t=688 N_c=133
## 
## ==============================================================================================================
## Outcome: pol_mun_road | LOMBARDIA ONLY | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — pol_mun_road | h=30 km | p=1 | N used=696 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  696
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          564
## Eff. Number of Obs.             132          564
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          564
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -3.033    13.519    -0.224     0.822   [-29.530 , 23.464]    
##         Robust         -         -    -1.755     0.079   [-84.260 , 4.638]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — pol_mun_road | h=40 km | p=1 | N used=821 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  821
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133          688
## Eff. Number of Obs.             133          688
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     133          688
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     7.026    11.908     0.590     0.555   [-16.312 , 30.364]    
##         Robust         -         -    -1.631     0.103   [-76.033 , 6.954]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — pol_mun_road | h=50 km | p=1 | N used=978 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  978
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133          845
## Eff. Number of Obs.             133          845
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     133          845
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    12.367    11.483     1.077     0.282   [-10.140 , 34.874]    
##         Robust         -         -    -1.394     0.163   [-67.818 , 11.450]    
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — pol_mun_road | AUTO bandwidth (default) | p=1 | N used=1397 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1397
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133         1264
## Eff. Number of Obs.              46          184
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                   7.960        7.960
## BW bias (b)                  11.577       11.577
## rho (h/b)                     0.688        0.688
## Unique Obs.                     130         1248
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional   -35.434    26.172    -1.354     0.176   [-86.730 , 15.862]    
##         Robust         -         -    -1.177     0.239   [-98.638 , 24.628]    
## =============================================================================
## NULL
## [Lombardia diff-means] h=40 km | outcome=Pillar2_pol | year=2010 | diff=2.07 | p=0.003646 | N_t=688 N_c=133
## 
## ==============================================================================================================
## Outcome: Pillar2_pol | Year=2010 | LOMBARDIA ONLY | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Pillar2_pol | Year=2010 | h=30 km | p=1 | N used=696 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  696
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          564
## Eff. Number of Obs.             132          564
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          564
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -0.042     1.558    -0.027     0.979    [-3.095 , 3.011]     
##         Robust         -         -    -1.169     0.243    [-7.616 , 1.926]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Pillar2_pol | Year=2010 | h=40 km | p=1 | N used=821 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  821
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133          688
## Eff. Number of Obs.             133          688
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     133          688
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.501     1.458     0.344     0.731    [-2.356 , 3.358]     
##         Robust         -         -    -0.852     0.394    [-6.177 , 2.435]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Pillar2_pol | Year=2010 | h=50 km | p=1 | N used=978 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  978
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133          845
## Eff. Number of Obs.             133          845
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     133          845
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.721     1.416     0.509     0.611    [-2.055 , 3.496]     
##         Robust         -         -    -0.628     0.530    [-5.507 , 2.835]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Pillar2_pol | Year=2010 | AUTO bandwidth (default) | p=1 | N used=1397 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1397
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133         1264
## Eff. Number of Obs.              43          161
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                   6.862        6.862
## BW bias (b)                  13.851       13.851
## rho (h/b)                     0.495        0.495
## Unique Obs.                     130         1248
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -0.201     4.441    -0.045     0.964    [-8.905 , 8.503]     
##         Robust         -         -    -0.076     0.939   [-12.023 , 11.121]    
## =============================================================================
## NULL
## [Lombardia diff-means] h=40 km | outcome=Pillar2_pol | year=2020 | diff=4.76 | p=3.93e-08 | N_t=688 N_c=133
## 
## ==============================================================================================================
## Outcome: Pillar2_pol | Year=2020 | LOMBARDIA ONLY | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Pillar2_pol | Year=2020 | h=30 km | p=1 | N used=696 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  696
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          564
## Eff. Number of Obs.             132          564
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          564
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     1.044     1.709     0.611     0.541    [-2.306 , 4.394]     
##         Robust         -         -    -0.062     0.951    [-5.420 , 5.088]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Pillar2_pol | Year=2020 | h=40 km | p=1 | N used=821 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  821
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133          688
## Eff. Number of Obs.             133          688
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     133          688
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     1.881     1.626     1.156     0.248    [-1.307 , 5.068]     
##         Robust         -         -    -0.181     0.856    [-5.218 , 4.336]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Pillar2_pol | Year=2020 | h=50 km | p=1 | N used=978 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  978
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133          845
## Eff. Number of Obs.             133          845
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     133          845
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     2.323     1.594     1.457     0.145    [-0.802 , 5.447]     
##         Robust         -         -    -0.009     0.993    [-4.670 , 4.628]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Pillar2_pol | Year=2020 | AUTO bandwidth (default) | p=1 | N used=1397 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1397
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133         1264
## Eff. Number of Obs.              43          164
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                   6.957        6.957
## BW bias (b)                  13.924       13.924
## rho (h/b)                     0.500        0.500
## Unique Obs.                     130         1248
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     2.818     4.529     0.622     0.534    [-6.058 , 11.695]    
##         Robust         -         -     0.507     0.612    [-8.800 , 14.944]    
## =============================================================================
## NULL
## [Lombardia diff-means] h=40 km | outcome=marr_civil | diff=9.426 | p=0.00751 | N_t=688 N_c=133
## 
## ==============================================================================================================
## Outcome: marr_civil | LOMBARDIA ONLY | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — marr_civil | h=30 km | p=1 | N used=696 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  696
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          564
## Eff. Number of Obs.             132          564
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          564
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -1.760     5.116    -0.344     0.731   [-11.788 , 8.268]     
##         Robust         -         -    -1.098     0.272   [-19.159 , 5.404]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — marr_civil | h=40 km | p=1 | N used=821 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  821
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133          688
## Eff. Number of Obs.             133          688
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     133          688
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     2.150     3.257     0.660     0.509    [-4.234 , 8.533]     
##         Robust         -         -    -1.141     0.254   [-25.662 , 6.775]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — marr_civil | h=50 km | p=1 | N used=978 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  978
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133          845
## Eff. Number of Obs.             133          845
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     133          845
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     5.032     3.062     1.643     0.100    [-0.969 , 11.034]    
##         Robust         -         -    -1.036     0.300   [-21.931 , 6.766]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — marr_civil | AUTO bandwidth (default) | p=1 | N used=1397 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1397
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133         1264
## Eff. Number of Obs.              38          148
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                   6.444        6.444
## BW bias (b)                  10.938       10.938
## rho (h/b)                     0.589        0.589
## Unique Obs.                     130         1248
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     7.567     5.848     1.294     0.196    [-3.895 , 19.028]    
##         Robust         -         -     1.699     0.089    [-1.999 , 28.047]    
## =============================================================================
## NULL
## [Lombardia diff-means] h=40 km | outcome=marr_rel | diff=4.766 | p=0.0001148 | N_t=688 N_c=133
## 
## ==============================================================================================================
## Outcome: marr_rel | LOMBARDIA ONLY | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — marr_rel | h=30 km | p=1 | N used=696 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  696
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          564
## Eff. Number of Obs.             132          564
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          564
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -0.387     2.345    -0.165     0.869    [-4.984 , 4.209]     
##         Robust         -         -    -1.361     0.173   [-12.284 , 2.214]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — marr_rel | h=40 km | p=1 | N used=821 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  821
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133          688
## Eff. Number of Obs.             133          688
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     133          688
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     1.373     1.868     0.735     0.462    [-2.289 , 5.034]     
##         Robust         -         -    -1.238     0.216   [-12.154 , 2.744]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — marr_rel | h=50 km | p=1 | N used=978 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  978
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133          845
## Eff. Number of Obs.             133          845
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     133          845
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     2.539     1.780     1.426     0.154    [-0.950 , 6.028]     
##         Robust         -         -    -0.960     0.337   [-10.352 , 3.545]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — marr_rel | AUTO bandwidth (default) | p=1 | N used=1397 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1397
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133         1264
## Eff. Number of Obs.              55          206
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                   8.640        8.640
## BW bias (b)                  11.967       11.967
## rho (h/b)                     0.722        0.722
## Unique Obs.                     130         1248
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -4.852     4.437    -1.093     0.274   [-13.548 , 3.845]     
##         Robust         -         -    -1.091     0.275   [-16.298 , 4.641]     
## =============================================================================
## NULL
## [Lombardia diff-means] h=40 km | outcome=incomepc | diff=2084 | p=3.064e-17 | N_t=688 N_c=133
## 
## ==============================================================================================================
## Outcome: incomepc | LOMBARDIA ONLY | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — incomepc | h=30 km | p=1 | N used=696 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  696
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          564
## Eff. Number of Obs.             132          564
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          564
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional  2206.598   507.983     4.344     0.000  [1210.970 , 3202.226]  
##         Robust         -         -     0.858     0.391  [-995.370 , 2544.790]  
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — incomepc | h=40 km | p=1 | N used=821 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  821
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133          688
## Eff. Number of Obs.             133          688
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     133          688
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional  2360.419   467.447     5.050     0.000  [1444.239 , 3276.599]  
##         Robust         -         -     2.019     0.043    [45.839 , 3084.349]  
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — incomepc | h=50 km | p=1 | N used=978 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  978
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133          845
## Eff. Number of Obs.             133          845
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     133          845
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional  2375.555   449.294     5.287     0.000  [1494.955 , 3256.155]  
##         Robust         -         -     2.694     0.007   [537.733 , 3410.536]  
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — incomepc | AUTO bandwidth (default) | p=1 | N used=1397 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1397
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133         1264
## Eff. Number of Obs.              21          112
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                   4.967        4.967
## BW bias (b)                  12.251       12.251
## rho (h/b)                     0.405        0.405
## Unique Obs.                     130         1248
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional  7828.024  5123.781     1.528     0.127 [-2214.403 , 17870.451] 
##         Robust         -         -     1.551     0.121 [-2323.064 , 19946.656] 
## =============================================================================
## NULL
## [Lombardia diff-means] h=40 km | outcome=income | diff=116500000 | p=0.01785 | N_t=688 N_c=133
## 
## ==============================================================================================================
## Outcome: income | LOMBARDIA ONLY | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — income | h=30 km | p=1 | N used=696 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  696
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          564
## Eff. Number of Obs.             132          564
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          564
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional-52407006.83862765696.903    -0.835     0.404[-175425512.233 , 70611498.557]
##         Robust         -         -    -2.038     0.042[-217242506.256 , -4229898.356]
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — income | h=40 km | p=1 | N used=821 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  821
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133          688
## Eff. Number of Obs.             133          688
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     133          688
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional8065490.62030865204.834     0.261     0.794[-52429199.230 , 68560180.469]
##         Robust         -         -    -1.516     0.130[-353449243.591 , 45193458.674]
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — income | h=50 km | p=1 | N used=978 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  978
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133          845
## Eff. Number of Obs.             133          845
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     133          845
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional51036928.19428521863.830     1.789     0.074[-4864897.685 , 106938754.073]
##         Robust         -         -    -1.395     0.163[-291619227.423 , 49145216.763]
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — income | AUTO bandwidth (default) | p=1 | N used=1397 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1397
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133         1264
## Eff. Number of Obs.              47          185
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                   7.999        7.999
## BW bias (b)                  11.726       11.726
## rho (h/b)                     0.682        0.682
## Unique Obs.                     130         1248
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional-65598987.39857953638.311    -1.132     0.258[-179186031.260 , 47988056.464]
##         Robust         -         -    -0.868     0.386[-202067074.138 , 78056884.815]
## =============================================================================
## NULL
## [Lombardia diff-means] h=40 km | outcome=expend_level | diff=0.6987 | p=0.004729 | N_t=688 N_c=133
## 
## ==============================================================================================================
## Outcome: expend_level | LOMBARDIA ONLY | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — expend_level | h=30 km | p=1 | N used=696 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  696
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          564
## Eff. Number of Obs.             132          564
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          564
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.214     0.585     0.366     0.714    [-0.932 , 1.360]     
##         Robust         -         -     0.148     0.882    [-1.943 , 2.261]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — expend_level | h=40 km | p=1 | N used=821 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  821
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133          688
## Eff. Number of Obs.             133          688
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     133          688
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.206     0.536     0.385     0.700    [-0.844 , 1.257]     
##         Robust         -         -     0.347     0.729    [-1.507 , 2.155]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — expend_level | h=50 km | p=1 | N used=978 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  978
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133          845
## Eff. Number of Obs.             133          845
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     133          845
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.256     0.517     0.495     0.621    [-0.758 , 1.270]     
##         Robust         -         -     0.357     0.721    [-1.433 , 2.072]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — expend_level | AUTO bandwidth (default) | p=1 | N used=1397 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1397
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133         1264
## Eff. Number of Obs.              44          171
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                   7.318        7.318
## BW bias (b)                  14.949       14.949
## rho (h/b)                     0.490        0.490
## Unique Obs.                     130         1248
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -0.376     1.951    -0.193     0.847    [-4.199 , 3.447]     
##         Robust         -         -    -0.264     0.792    [-5.547 , 4.230]     
## =============================================================================
## NULL
## [Lombardia diff-means] h=40 km | outcome=expenditure | diff=1074000 | p=0.01547 | N_t=688 N_c=133
## 
## ==============================================================================================================
## Outcome: expenditure | LOMBARDIA ONLY | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — expenditure | h=30 km | p=1 | N used=696 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  696
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          564
## Eff. Number of Obs.             132          564
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          564
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional-426528.558559928.373    -0.762     0.446[-1523968.003 , 670910.887]
##         Robust         -         -    -1.898     0.058[-1816684.760 , 28990.212] 
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — expenditure | h=40 km | p=1 | N used=821 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  821
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133          688
## Eff. Number of Obs.             133          688
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     133          688
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional 89112.810267018.946     0.334     0.739[-434234.708 , 612460.328]
##         Robust         -         -    -1.381     0.167[-3041870.279 , 527107.272]
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — expenditure | h=50 km | p=1 | N used=978 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  978
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133          845
## Eff. Number of Obs.             133          845
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     133          845
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional473204.914245111.504     1.931     0.054 [-7204.806 , 953614.634]
##         Robust         -         -    -1.274     0.203[-2509457.397 , 532493.162]
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — expenditure | AUTO bandwidth (default) | p=1 | N used=1397 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                 1397
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  133         1264
## Eff. Number of Obs.              10           49
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                   3.116        3.116
## BW bias (b)                   8.022        8.022
## rho (h/b)                     0.388        0.388
## Unique Obs.                     130         1248
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional862313.164444987.329     1.938     0.053 [-9845.975 , 1734472.303]
##         Robust         -         -     2.537     0.011[434665.445 , 3389359.790]
## =============================================================================
## NULL
dev.off()
## quartz_off_screen 
##                 2
# Export Lombardia diff-means results at 40 km
dm_lomb40 <- dplyr::bind_rows(lomb_dm40)
if (nrow(dm_lomb40) > 0) {
  readr::write_csv(dm_lomb40, dm_csv_lomb40)
  cat("
[Lombardia diff-means] Wrote: ", dm_csv_lomb40, " | rows=", nrow(dm_lomb40), "
", sep = "")
  print(dm_lomb40 %>%
          dplyr::select(sample, outcome, year, h_km, n_treated, n_control,
                        diff_treat_minus_control, se_diff, p_value) %>%
          head(10))
} else {
  cat("
[Lombardia diff-means] No usable data within ±40 km for any outcome; skipping export.
", sep = "")
}
## 
## [Lombardia diff-means] Wrote: output/diffmeans_Lombardia_h40.csv | rows=18
## # A tibble: 10 × 9
##    sample outcome  year  h_km n_treated n_control diff_treat_minus_con…¹ se_diff
##    <chr>  <chr>   <dbl> <dbl>     <int>     <int>                  <dbl>   <dbl>
##  1 LOMBA… gb_int…    NA    40       694       133                -0.0120 0.00225
##  2 LOMBA… gb_reg…    NA    40       694       133                 0.0676 0.0115 
##  3 LOMBA… evasio…    NA    40       688       133                -2.77   0.741  
##  4 LOMBA… servic…    NA    40       688       133                 2.48   0.273  
##  5 LOMBA… Admin_…    NA    40       226        49                 0.143  0.0743 
##  6 LOMBA… edu_se…    NA    40       671       121                 1.40   0.257  
##  7 LOMBA… edu_mu…    NA    40       688       133                 3.24   0.816  
##  8 LOMBA… edu_em…    NA    40       351        81                 0.0633 0.0172 
##  9 LOMBA… PublS_…    NA    40       680       133                 6.74   0.764  
## 10 LOMBA… pol_mu…    NA    40       688       133                13.1    5.82   
## # ℹ abbreviated name: ¹​diff_treat_minus_control
## # ℹ 1 more variable: p_value <dbl>
sink()

NEW: Donut RD (Lombardia + no FE)

Drop only treated-side observations within 2.5 km of the cutoff (keep all control-side)

donut_lomb <- list()

for (yvar in OUTCOMES) {

  if (!(yvar %in% names(df_lombardia))) next

  d1 <- collapse_one_row_per_muni(df_lombardia, keycol = KEYCOL, xcol = RUNNING, ycol = yvar, keep_year = FALSE)

  d1_donut <- apply_donut_treated_only(d1, donut_km = DONUT_TREATED_ONLY_KM)

  # MANUAL bandwidths
  for (h in BWS_KM) {
    sub <- make_sub_noFE(d1_donut, h)
    if (is.null(sub)) next

    rb <- safe_rdrobust(sub$Y, sub$X, h = h, p = P,
                        label = paste0("DONUT Lombardia | ", yvar, " | h=", h))
    if (is.null(rb)) next

    donut_lomb[[length(donut_lomb) + 1]] <-
      extract_rdrobust(rb, outcome = yvar, h = h, sample = "LOMBARDIA_noFE_DONUT_treated2p5", year = NA_integer_, h_type = "MANUAL")
  }

  # AUTO bandwidth
  sub_full <- make_sub_full_noFE(d1_donut)
  if (!is.null(sub_full)) {
    rb_auto <- safe_rdrobust(sub_full$Y, sub_full$X, p = P,
                             label = paste0("DONUT Lombardia AUTO | ", yvar))
    if (!is.null(rb_auto)) {
      donut_lomb[[length(donut_lomb) + 1]] <-
        extract_rdrobust(rb_auto, outcome = yvar, h = NA_real_, sample = "LOMBARDIA_noFE_DONUT_treated2p5", year = NA_integer_, h_type = "AUTO")
    }
  }
}

donut_lomb_df <- dplyr::bind_rows(donut_lomb)
if (nrow(donut_lomb_df) > 0) {
  readr::write_csv(donut_lomb_df, donut_csv_lomb)
  cat("[Donut RD | Lombardia] Wrote: ", donut_csv_lomb, " | rows=", nrow(donut_lomb_df), "
", sep = "")
} else {
  cat("[Donut RD | Lombardia] No donut RD results produced.
")
}
## [Donut RD | Lombardia] Wrote: output/rdrobust_results_Lombardia_noFE_DONUT_treated2p5.csv | rows=68

Construct the Lombardia “square” subsample (from Lombardia data in-memory)

# Columns (adjust only if your file differs)
COL_NAME    <- "COMUNE"
COL_TREATED <- "Treated"
COL_BORDER  <- "treated_border_municipality"

# Numerical tolerance to avoid boundary issues (meters)
EPS_M <- 1

guess_col <- function(df, candidates, label = "column") {
  hit <- candidates[candidates %in% names(df)]
  if (length(hit) == 0) stop("Could not find ", label, ". Tried: ", paste(candidates, collapse = ", "))
  hit[[1]]
}

# Robust name normalization: lowercase, strip accents, drop punctuation, collapse whitespace
norm_name <- function(x) {
  x <- as.character(x)
  x <- str_trim(x)
  fixed <- suppressWarnings(iconv(x, from = "latin1", to = "UTF-8"))
  x[!is.na(fixed)] <- fixed[!is.na(fixed)]
  x <- tolower(x)
  x <- stringi::stri_trans_general(x, "NFD; [:Nonspacing Mark:] Remove; NFC")
  x <- str_replace_all(x, "[’'`]", "")
  x <- str_replace_all(x, "[^a-z0-9\\s]", " ")
  x <- str_replace_all(x, "\\s+", " ")
  str_trim(x)
}

inside_square <- function(points_sf, square_sfc) {
  as.logical(sf::st_intersects(points_sf, square_sfc, sparse = FALSE)[, 1])
}

build_square_from_bbox_utm <- function(bbox_utm, area_scale = 1.25, eps = 1, utm_epsg = 32632) {
  if (!is.finite(area_scale) || area_scale <= 0) stop("area_scale must be > 0.")

  xmin <- bbox_utm[["xmin"]]; xmax <- bbox_utm[["xmax"]]
  ymin <- bbox_utm[["ymin"]]; ymax <- bbox_utm[["ymax"]]

  dx <- xmax - xmin
  dy <- ymax - ymin

  side_base <- max(dx, dy)
  side_inflated <- side_base * sqrt(area_scale)

  cx <- (xmin + xmax) / 2
  cy <- (ymin + ymax) / 2
  half <- (side_inflated / 2) + eps

  sq <- sf::st_polygon(list(matrix(
    c(cx - half, cy - half,
      cx + half, cy - half,
      cx + half, cy + half,
      cx - half, cy + half,
      cx - half, cy - half),
    ncol = 2, byrow = TRUE
  )))

  list(
    poly = sf::st_sfc(sq, crs = utm_epsg),
    meta = list(
      cx = cx, cy = cy,
      side_base_m = side_base,
      side_expanded_m = 2 * half,
      side_multiplier = sqrt(area_scale),
      area_scale = area_scale
    )
  )
}

# 1) Filter Lombardia from in-memory df0 (post distance overwrite)
lomb0 <- df0 %>%
  filter(as.integer(.data[[REGION]]) == REGION_CODE_LOMBARDIA)

# 2) Determine coordinate column names
LATCOL_ALL <- guess_col(lomb0, c("lat", "LAT", "latitude", "Latitude"), "Lombardia latitude column")
LNGCOL_ALL <- guess_col(lomb0, c("lng", "LNG", "lon", "longitude", "Longitude"), "Lombardia longitude column")

# 3) Prep Lombardia points (WGS84)
lomb <- lomb0 %>%
  mutate(
    lat_num = suppressWarnings(as.numeric(.data[[LATCOL_ALL]])),
    lng_num = suppressWarnings(as.numeric(.data[[LNGCOL_ALL]]))
  ) %>%
  filter(!is.na(lat_num), !is.na(lng_num))

if (nrow(lomb) == 0) stop("Lombardia subset is empty after dropping missing coordinates.")

# Ensure border column exists (for compatibility with attached script)
if (!COL_BORDER %in% names(lomb)) lomb[[COL_BORDER]] <- 0L

# Optional hard-coding (ported from the attached script; affects only Treated_num and border flag)
APPLY_HARDCODING <- TRUE
if (isTRUE(APPLY_HARDCODING) && (COL_NAME %in% names(lomb)) && (COL_TREATED %in% names(lomb))) {

  force_treated_raw <- c(
    "Ceranoval", "Ceranova", "Lardirago", "Roncaro",
    "Sant'Aleesio con Vialone", "Sant'Alessio con Vialone",
    "Vistarino", "Cura Carpignano", "Albuzzano", "Copiano",
    "Filighera", "Trivolzio", "Marcignago",
    "Nosate", "Turbigo", "Vizzola Ticino", "Campione d'Italia",
    "Ranco", "Sangiano", "Monvalle", "Faloppio", "Leggiuno", "Albiolo"
  )

  force_control_raw <- c(
    "Vivegano", "Vigevano",
    "Gambolò", "Gambolò",
    "Borgo San Siro"
  )

  force_treated_border_raw <- c(
    "Bereguardo", "Torre d'Isola", "Pavia", "Valle Salimbene", "Linarolo",
    "Belgioioso", "Belgioso", "Belgioiso",
    "Tosce de' Negri", "Torre de' Negri",
    "Spessa",
    "San Zenone al Po", "San Zenone Al Po",
    "Zerbo"
  )

  force_border1_raw <- c("Vivegano", "Vigevano", "Borgo San Siro")

  lomb <- lomb %>% mutate(
    name_norm = norm_name(.data[[COL_NAME]]),
    Treated_num = suppressWarnings(as.integer(.data[[COL_TREATED]]))
  )

  force_treated        <- unique(norm_name(force_treated_raw))
  force_control        <- unique(norm_name(force_control_raw))
  force_treated_border <- unique(norm_name(force_treated_border_raw))
  force_border1        <- unique(norm_name(force_border1_raw))

  lomb <- lomb %>%
    mutate(
      Treated_num = if_else(name_norm %in% force_treated, 1L, Treated_num),
      Treated_num = if_else(name_norm %in% force_control, 0L, Treated_num),
      Treated_num = if_else(name_norm %in% force_treated_border, 1L, Treated_num),
      !!COL_BORDER := if_else(name_norm %in% force_treated_border, 1L, .data[[COL_BORDER]]),
      !!COL_BORDER := if_else(name_norm %in% force_border1, 1L, .data[[COL_BORDER]])
    ) %>%
    select(-name_norm)
}

# 4) Read the baseline square dataset to infer the footprint bbox
base0 <- readr::read_csv(BASE_SQUARE_PATH, show_col_types = FALSE)

# If baseline has the region column, enforce Lombardia-only footprint; else use all rows.
if (REGION %in% names(base0)) {
  base0 <- base0 %>% filter(as.integer(.data[[REGION]]) == REGION_CODE_LOMBARDIA)
}

LATCOL_BASE <- guess_col(base0, c("lat", "LAT", "latitude", "Latitude"), "baseline square latitude column")
LNGCOL_BASE <- guess_col(base0, c("lng", "LNG", "lon", "longitude", "Longitude"), "baseline square longitude column")

base <- base0 %>%
  mutate(
    lat_num = suppressWarnings(as.numeric(.data[[LATCOL_BASE]])),
    lng_num = suppressWarnings(as.numeric(.data[[LNGCOL_BASE]]))
  ) %>%
  filter(!is.na(lat_num), !is.na(lng_num))

if (nrow(base) == 0) stop("Baseline square dataset has no valid coordinates after filtering.")

# 5) Build SF points and infer baseline square footprint in UTM
lomb_sf_wgs <- st_as_sf(lomb, coords = c("lng_num", "lat_num"), crs = 4326, remove = FALSE)
lomb_sf_utm <- st_transform(lomb_sf_wgs, UTM_EPSG)

base_sf_wgs <- st_as_sf(base, coords = c("lng_num", "lat_num"), crs = 4326, remove = FALSE)
base_sf_utm <- st_transform(base_sf_wgs, UTM_EPSG)

bbox_base <- st_bbox(base_sf_utm)

sq <- build_square_from_bbox_utm(bbox_base, area_scale = TARGET_AREA_SCALE, eps = EPS_M, utm_epsg = UTM_EPSG)

in_sq <- inside_square(lomb_sf_utm, sq$poly)

df_lomb_square <- lomb_sf_utm %>%
  mutate(in_expanded_square = in_sq) %>%
  filter(in_expanded_square) %>%
  st_drop_geometry()

# --- LIST: Lombardia-square control-side municipalities (distance < 0) ---

NAMECOL_SQ <- if ("COMUNE" %in% names(df_lomb_square)) "COMUNE" else stop("COMUNE column not found in df_lomb_square")

sq_control_muni <- df_lomb_square %>%
  mutate(X = as.numeric(.data[[RUNNING]])) %>%
  filter(!is.na(.data[[KEYCOL]]), !is.na(X), !is.na(.data[[NAMECOL_SQ]])) %>%
  group_by(.data[[KEYCOL]]) %>%
  summarise(
    COMUNE = dplyr::first(.data[[NAMECOL_SQ]]),
    X_km   = mean(X, na.rm = TRUE),
    Treated = dplyr::first(as.integer(Treated)),
    COD_PROV = dplyr::first(if ("COD_PROV" %in% names(df_lomb_square)) as.integer(COD_PROV) else NA_integer_),
    .groups = "drop"
  ) %>%
  filter(X_km < 0) %>%
  arrange(X_km, COMUNE)

cat("\n=== Lombardia SQUARE: CONTROL side municipalities (X < 0) ===\n")
## 
## === Lombardia SQUARE: CONTROL side municipalities (X < 0) ===
cat("Count (unique comuni): ", nrow(sq_control_muni), "\n", sep = "")
## Count (unique comuni): 132
print(sq_control_muni %>% dplyr::select(COMUNE, X_km, Treated, COD_PROV), n = Inf)
## # A tibble: 132 × 4
##     COMUNE                         X_km Treated COD_PROV
##     <chr>                         <dbl>   <int>    <int>
##   1 Brallo di Pregola            -31.0        0       18
##   2 Santa Margherita di Staffora -29.9        0       18
##   3 Cecima                       -28.3        0       18
##   4 Rivanazzano Terme            -27.5        0       18
##   5 Bagnaria                     -26.6        0       18
##   6 Godiasco Salice Terme        -26.0        0       18
##   7 Ponte Nizza                  -25.1        0       18
##   8 Retorbido                    -25.0        0       18
##   9 Varzi                        -24.2        0       18
##  10 Codevilla                    -23.2        0       18
##  11 Menconico                    -22.8        0       18
##  12 Voghera                      -22.6        0       18
##  13 Rocca Susella                -22.4        0       18
##  14 Frascarolo                   -22.3        0       18
##  15 Suardi                       -21.7        0       18
##  16 Casei Gerola                 -21.3        0       18
##  17 Montesegale                  -21.0        0       18
##  18 Torrazza Coste               -20.9        0       18
##  19 Montebello della Battaglia   -20.0        0       18
##  20 Val di Nizza                 -20.0        0       18
##  21 Torre Beretti e Castellaro   -19.9        0       18
##  22 Gambarana                    -19.9        0       18
##  23 Lungavilla                   -19.1        0       18
##  24 Pizzale                      -19.0        0       18
##  25 Romagnese                    -18.0        0       18
##  26 Verretto                     -17.9        0       18
##  27 Silvano Pietra               -17.4        0       18
##  28 Sartirana Lomellina          -17.2        0       18
##  29 Borgo Priolo                 -17.1        0       18
##  30 Casteggio                    -17.1        0       18
##  31 Pieve del Cairo              -17.0        0       18
##  32 Fortunago                    -16.9        0       18
##  33 Palestro                     -16.8        0       18
##  34 Cervesina                    -16.4        0       18
##  35 Casatisma                    -16.4        0       18
##  36 Breme                        -16.3        0       18
##  37 Robecco Pavese               -16.2        0       18
##  38 Zavattarello                 -16.1        0       18
##  39 Mezzana Bigli                -15.8        0       18
##  40 Castelletto di Branduzzo     -15.7        0       18
##  41 Pancarana                    -15.5        0       18
##  42 Corana                       -15.5        0       18
##  43 Mede                         -15.5        0       18
##  44 Langosco                     -15.4        0       18
##  45 Corvino San Quirico          -15.3        0       18
##  46 Candia Lomellina             -15.2        0       18
##  47 Calvignano                   -14.8        0       18
##  48 Villa Biscossi               -14.5        0       18
##  49 Rosasco                      -14.3        0       18
##  50 Torricella Verzate           -14.2        0       18
##  51 Confienza                    -13.9        0       18
##  52 Borgoratto Mormorolo         -13.9        0       18
##  53 Santa Giuletta               -13.2        0       18
##  54 Bressana Bottarone           -13.1        0       18
##  55 Oliva Gessi                  -13.1        0       18
##  56 Galliavola                   -12.9        0       18
##  57 Pinarolo Po                  -12.9        0       18
##  58 Mezzana Rabattone            -12.8        0       18
##  59 Bastida Pancarana            -12.7        0       18
##  60 Semiana                      -12.5        0       18
##  61 Sannazzaro de' Burgondi      -11.9        0       18
##  62 Valle Lomellina              -11.9        0       18
##  63 Redavalle                    -11.7        0       18
##  64 Ferrera Erbognone            -11.7        0       18
##  65 Pieve Albignola              -11.4        0       18
##  66 Cozzo                        -11.4        0       18
##  67 Barbianello                  -11.2        0       18
##  68 Lomello                      -10.9        0       18
##  69 Montalto Pavese              -10.9        0       18
##  70 Mornico Losana               -10.9        0       18
##  71 Robbio                       -10.8        0       18
##  72 Sommo                        -10.7        0       18
##  73 Zinasco                      -10.4        0       18
##  74 Velezzo Lomellina            -10.1        0       18
##  75 Castelnovetto                 -9.74       0       18
##  76 Verrua Po                     -9.64       0       18
##  77 Rocca de' Giorgi              -9.57       0       18
##  78 Casanova Lonati               -9.26       0       18
##  79 Cava Manara                   -8.60       0       18
##  80 Pietra de' Giorgi             -8.55       0       18
##  81 Zeme                          -8.55       0       18
##  82 Rea                           -8.50       0       18
##  83 Broni                         -8.47       0       18
##  84 Cigognola                     -8.44       0       18
##  85 Scaldasole                    -8.36       0       18
##  86 Sant'Angelo Lomellina         -8.22       0       18
##  87 Mezzanino                     -8.00       0       18
##  88 Volpara                       -7.71       0       18
##  89 Campospinoso Albaredo         -7.33       0       18
##  90 Lirio                         -7.27       0       18
##  91 Montecalvo Versiggia          -6.73       0       18
##  92 Nicorvo                       -6.67       0       18
##  93 Borgo San Siro                -6.67       0       18
##  94 Valeggio                      -6.64       0       18
##  95 San Giorgio di Lomellina      -6.58       0       18
##  96 Ottobiano                     -6.35       0       18
##  97 Golferenzo                    -6.35       0       18
##  98 Dorno                         -6.32       0       18
##  99 Garlasco                      -6.30       0       18
## 100 Tromello                      -6.30       0       18
## 101 Carbonara al Ticino           -6.30       0       18
## 102 Ceretto Lomellina             -6.14       0       18
## 103 Cergnago                      -5.86       0       18
## 104 Castana                       -5.83       0       18
## 105 Canneto Pavese                -5.77       0       18
## 106 San Martino Siccomario        -5.66       0       18
## 107 Villanova d'Ardenghi          -5.58       0       18
## 108 Travacò Siccomario           -5.32       0       18
## 109 Castello d'Agogna             -5.28       0       18
## 110 Alagna                        -5.25       0       18
## 111 Stradella                     -5.19       0       18
## 112 Olevano di Lomellina          -5.08       0       18
## 113 Montescano                    -4.94       0       18
## 114 Gropello Cairoli              -4.70       0       18
## 115 Gambolò                      -4.62       0       18
## 116 Zerbolò                      -4.39       0       18
## 117 Cassolnovo                    -4.11       0       18
## 118 Gravellona Lomellina          -3.95       0       18
## 119 Santa Maria della Versa       -3.88       0       18
## 120 San Cipriano Po               -3.86       0       18
## 121 Mortara                       -3.83       0       18
## 122 Albonese                      -3.74       0       18
## 123 Vigevano                      -3.57       0       18
## 124 Arena Po                      -3.08       0       18
## 125 Bosnasco                      -3.03       0       18
## 126 Cilavegna                     -2.76       0       18
## 127 Parona                        -2.76       0       18
## 128 Portalbera                    -2.68       0       18
## 129 Montù Beccaria               -2.65       0       18
## 130 Rovescala                     -2.55       0       18
## 131 San Damiano al Colle          -2.55       0       18
## 132 Zenevredo                     -2.19       0       18
# optional export
sq_control_out <- file.path(OUTDIR, sprintf("lombardia_square_area_x%0.2f_control_municipalities_distance_lt_0.csv", TARGET_AREA_SCALE))
readr::write_csv(sq_control_muni, sq_control_out)
cat("Wrote: ", sq_control_out, "\n", sep = "")
## Wrote: output/lombardia_square_area_x1.25_control_municipalities_distance_lt_0.csv
# 6) Write square dataset + metadata
square_out_file  <- file.path(OUTDIR, sprintf("lombardia_square_area_x%0.2f.csv", TARGET_AREA_SCALE))
square_meta_file <- file.path(OUTDIR, sprintf("lombardia_square_area_x%0.2f_metadata.csv", TARGET_AREA_SCALE))

readr::write_csv(df_lomb_square, square_out_file)

meta <- tibble::tibble(
  baseline_n = nrow(base),
  expanded_n = nrow(df_lomb_square),
  target_area_scale = TARGET_AREA_SCALE,
  side_multiplier = sq$meta$side_multiplier,
  side_base_m = sq$meta$side_base_m,
  side_expanded_m = sq$meta$side_expanded_m
)

readr::write_csv(meta, square_meta_file)

cat("\n=== Lombardia square constructed ===\n")
## 
## === Lombardia square constructed ===
cat("Square dataset: ", square_out_file, "\n", sep = "")
## Square dataset: output/lombardia_square_area_x1.25.csv
cat("Square metadata: ", square_meta_file, "\n", sep = "")
## Square metadata: output/lombardia_square_area_x1.25_metadata.csv
print(meta)
## # A tibble: 1 × 6
##   baseline_n expanded_n target_area_scale side_multiplier side_base_m
##        <int>      <int>             <dbl>           <dbl>       <dbl>
## 1        546        658              1.25            1.12      83583.
## # ℹ 1 more variable: side_expanded_m <dbl>

Run RD on the Lombardia square subsample (no regional fixed effects)

sink(results_txt_sq, split = TRUE)

cat("Using DF: Lombardia square subsample | rows=", nrow(df_lomb_square),
    " | key=", KEYCOL,
    " | yearcol=", ifelse("year" %in% names(df_lomb_square), "year", NA),
    "\n", sep = "")
## Using DF: Lombardia square subsample | rows=658 | key=istat | yearcol=year
cat("Running var: ", RUNNING, " (KM) | manual bandwidths=", paste(BWS_KM, collapse = ", "),
    " | p=", P, " | NO regional FE\n\n", sep = "")
## Running var: distance_treated_positive_x (KM) | manual bandwidths=30, 40, 50 | p=1 | NO regional FE
pdf(plots_pdf_square, width = 6, height = 4.5)

# Difference-in-means accumulator (Square sample only) at h = 40 km
sq_dm40 <- list()

# Difference-in-means accumulator (Square sample only): sign-based split (X>=0 vs X<0), no bandwidth trim
sq_sign_dm <- list()

for (yvar in OUTCOMES) {

  if (!(yvar %in% names(df_lomb_square))) {
    cat("\n[Skip] Missing outcome: ", yvar, "\n", sep = "")
    next
  }

  # --- Pillar2_pol: run separately by year (2010/2020) ---
  if (yvar == "Pillar2_pol" && ("year" %in% names(df_lomb_square))) {

    for (yr in YEARS) {

      dY <- df_lomb_square %>% filter(year == yr)
      d1 <- collapse_one_row_per_muni(dY, keycol = KEYCOL, xcol = RUNNING, ycol = yvar, keep_year = FALSE)

      # Difference in means (treated - control) within |X| <= 40 km (Square sample only)
      dm <- diff_means_test(d1, h = H_DM)
      if (!is.null(dm)) {
        sq_dm40[[length(sq_dm40) + 1]] <- dm %>%
          mutate(sample = "LOMBARDIA_SQUARE_noFE", outcome = yvar, year = yr)
      }

      # Difference in means by sign (X>=0 - X<0) within square (no bandwidth trim)
      dm_sign <- diff_means_sign_test(d1)
      if (!is.null(dm_sign)) {
        sq_sign_dm[[length(sq_sign_dm) + 1]] <- dm_sign %>%
          mutate(sample = "LOMBARDIA_SQUARE_noFE", outcome = yvar, year = yr)
      }

      cat("\n", strrep("=", 110), "\n", sep = "")
      cat("Outcome: ", yvar, " | Year=", yr, " | LOMBARDIA SQUARE | p=", P, " | X in KM | NO region FE\n", sep = "")
      cat(strrep("=", 110), "\n", sep = "")

      # RD plots (raw only) for MANUAL bandwidths
      for (h in BWS_KM) {
        sub <- make_sub_noFE(d1, h)
        if (is.null(sub)) {
          cat("[Skip plot] ", yvar, " Year=", yr, " h=", h, "km: too little usable data/variation\n", sep = "")
          next
        }

        rdplot(sub$Y, sub$X, h = h, p = P, binselect = "esmv",
               x.label = "Distance to Cutoff (km)",
               y.label = yvar,
               title = paste0(yvar, " | Year=", yr, " | Lombardia-square | raw | h=", h, " km"))
      }

      # RD tables (MANUAL bandwidths)
      for (h in BWS_KM) {
        sub <- make_sub_noFE(d1, h)
        if (is.null(sub)) {
          cat("[Skip rdrobust] ", yvar, " Year=", yr, " h=", h, "km: too little usable data/variation\n", sep = "")
          next
        }

        cat("\n", strrep("-", 90), "\n", sep = "")
        cat("RDROBUST — ", yvar, " | Year=", yr, " | h=", h, " km | p=", P,
            " | N used=", nrow(sub), " | NO region FE\n", sep = "")
        cat(strrep("-", 90), "\n", sep = "")

        rb <- rdrobust(sub$Y, sub$X, h = h, p = P)
        print(summary(rb))

        all_results[[length(all_results) + 1]] <- extract_rdrobust(rb, outcome = yvar, h = h, sample = "LOMBARDIA_SQUARE_noFE", year = yr, h_type = "MANUAL")
      }

      # RD table (AUTO bandwidth)
      sub_full <- make_sub_full_noFE(d1)
      if (is.null(sub_full)) {
        cat("[Skip AUTO rdrobust] ", yvar, " Year=", yr, ": too little usable data/variation\n", sep = "")
      } else {

        cat("\n", strrep("-", 90), "\n", sep = "")
        cat("RDROBUST — ", yvar, " | Year=", yr, " | AUTO bandwidth (default) | p=", P,
            " | N used=", nrow(sub_full), " | NO region FE\n", sep = "")
        cat(strrep("-", 90), "\n", sep = "")

        rb_auto <- rdrobust(sub_full$Y, sub_full$X, p = P)
        print(summary(rb_auto))

        all_results[[length(all_results) + 1]] <-
          extract_rdrobust(rb_auto, outcome = yvar, h = NA_real_, sample = "LOMBARDIA_SQUARE_noFE", year = yr, h_type = "AUTO")

        # Optional plot using h_plot = max(bws)
        if (!is.null(rb_auto$bws) && all(is.finite(rb_auto$bws))) {
          h_plot <- max(rb_auto$bws)
          sub_plot <- make_sub_noFE(d1, h_plot)
          if (!is.null(sub_plot)) {
            rdplot(sub_plot$Y, sub_plot$X, h = h_plot, p = P, binselect = "esmv",
                   x.label = "Distance to Cutoff (km)",
                   y.label = yvar,
                   title = paste0(yvar, " | Year=", yr, " | Lombardia-square | AUTO bw plot | h_plot=", round(h_plot, 2), " km"))
          }
        }
      }
    }

    next
  }

  # --- All other outcomes: collapse to 1 row per municipality ---
  d1 <- collapse_one_row_per_muni(df_lomb_square, keycol = KEYCOL, xcol = RUNNING, ycol = yvar, keep_year = FALSE)

  # Difference in means (treated - control) within |X| <= 40 km (Square sample only)
  dm <- diff_means_test(d1, h = H_DM)
  if (!is.null(dm)) {
    sq_dm40[[length(sq_dm40) + 1]] <- dm %>%
      mutate(sample = "LOMBARDIA_SQUARE_noFE", outcome = yvar, year = NA_integer_)
  }

  # Difference in means by sign (X>=0 - X<0) within square (no bandwidth trim)
  dm_sign <- diff_means_sign_test(d1)
  if (!is.null(dm_sign)) {
    sq_sign_dm[[length(sq_sign_dm) + 1]] <- dm_sign %>%
      mutate(sample = "LOMBARDIA_SQUARE_noFE", outcome = yvar, year = NA_integer_)
  }

  cat("\n", strrep("=", 110), "\n", sep = "")
  cat("Outcome: ", yvar, " | LOMBARDIA SQUARE | p=", P, " | X in KM | NO region FE\n", sep = "")
  cat(strrep("=", 110), "\n", sep = "")

  # RD plots (raw only) for MANUAL bandwidths
  for (h in BWS_KM) {
    sub <- make_sub_noFE(d1, h)
    if (is.null(sub)) {
      cat("[Skip plot] ", yvar, " h=", h, "km: too little usable data/variation\n", sep = "")
      next
    }

    rdplot(sub$Y, sub$X, h = h, p = P, binselect = "qsmv",
           x.label = "Distance to Cutoff (km)",
           y.label = yvar,
           title = paste0(yvar, " | Lombardia-square | raw | h=", h, " km"))
  }

  # RD tables (MANUAL bandwidths)
  for (h in BWS_KM) {
    sub <- make_sub_noFE(d1, h)
    if (is.null(sub)) {
      cat("[Skip rdrobust] ", yvar, " h=", h, "km: too little usable data/variation\n", sep = "")
      next
    }

    cat("\n", strrep("-", 90), "\n", sep = "")
    cat("RDROBUST — ", yvar, " | h=", h, " km | p=", P,
        " | N used=", nrow(sub), " | NO region FE\n", sep = "")
    cat(strrep("-", 90), "\n", sep = "")

    rb <- rdrobust(sub$Y, sub$X, h = h, p = P)
    print(summary(rb))

    all_results[[length(all_results) + 1]] <- extract_rdrobust(rb, outcome = yvar, h = h, sample = "LOMBARDIA_SQUARE_noFE", year = NA_integer_, h_type = "MANUAL")
  }

  # RD table (AUTO bandwidth)
  sub_full <- make_sub_full_noFE(d1)
  if (is.null(sub_full)) {
    cat("[Skip AUTO rdrobust] ", yvar, ": too little usable data/variation\n", sep = "")
  } else {

    cat("\n", strrep("-", 90), "\n", sep = "")
    cat("RDROBUST — ", yvar, " | AUTO bandwidth (default) | p=", P,
        " | N used=", nrow(sub_full), " | NO region FE\n", sep = "")
    cat(strrep("-", 90), "\n", sep = "")

    rb_auto <- rdrobust(sub_full$Y, sub_full$X, p = P)
    print(summary(rb_auto))

    all_results[[length(all_results) + 1]] <-
      extract_rdrobust(rb_auto, outcome = yvar, h = NA_real_, sample = "LOMBARDIA_SQUARE_noFE", year = NA_integer_, h_type = "AUTO")

    # Optional plot using h_plot = max(bws)
    if (!is.null(rb_auto$bws) && all(is.finite(rb_auto$bws))) {
      h_plot <- max(rb_auto$bws)
      sub_plot <- make_sub_noFE(d1, h_plot)
      if (!is.null(sub_plot)) {
        rdplot(sub_plot$Y, sub_plot$X, h = h_plot, p = P, binselect = "qsmv",
               x.label = "Distance to Cutoff (km)",
               y.label = yvar,
               title = paste0(yvar, " | Lombardia-square | AUTO bw plot | h_plot=", round(h_plot, 2), " km"))
      }
    }
  }
}
## 
## ==============================================================================================================
## Outcome: gb_intensity | LOMBARDIA SQUARE | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — gb_intensity | h=30 km | p=1 | N used=317 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  317
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  131          186
## Eff. Number of Obs.             131          186
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     131          186
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -0.007     0.004    -1.523     0.128    [-0.015 , 0.002]     
##         Robust         -         -     1.983     0.047     [0.000 , 0.030]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — gb_intensity | h=40 km | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.             132          197
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          197
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -0.011     0.004    -2.786     0.005    [-0.019 , -0.003]    
##         Robust         -         -     1.673     0.094    [-0.002 , 0.025]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — gb_intensity | h=50 km | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.             132          197
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          197
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -0.013     0.004    -3.317     0.001    [-0.021 , -0.005]    
##         Robust         -         -     1.552     0.121    [-0.003 , 0.024]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — gb_intensity | AUTO bandwidth (default) | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.              18           53
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                   4.655        4.655
## BW bias (b)                  10.989       10.989
## rho (h/b)                     0.424        0.424
## Unique Obs.                     129          189
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.057     0.020     2.921     0.003     [0.019 , 0.096]     
##         Robust         -         -     2.935     0.003     [0.022 , 0.108]     
## =============================================================================
## NULL
## 
## ==============================================================================================================
## Outcome: gb_reg_rate | LOMBARDIA SQUARE | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — gb_reg_rate | h=30 km | p=1 | N used=317 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  317
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  131          186
## Eff. Number of Obs.             131          186
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     131          186
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.118     0.034     3.448     0.001     [0.051 , 0.186]     
##         Robust         -         -     1.748     0.080    [-0.011 , 0.189]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — gb_reg_rate | h=40 km | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.             132          197
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          197
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.121     0.032     3.816     0.000     [0.059 , 0.183]     
##         Robust         -         -     2.364     0.018     [0.019 , 0.202]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — gb_reg_rate | h=50 km | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.             132          197
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          197
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.124     0.031     4.014     0.000     [0.064 , 0.185]     
##         Robust         -         -     2.437     0.015     [0.022 , 0.202]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — gb_reg_rate | AUTO bandwidth (default) | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.              20           54
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                   4.978        4.978
## BW bias (b)                  11.309       11.309
## rho (h/b)                     0.440        0.440
## Unique Obs.                     129          189
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -0.047     0.123    -0.385     0.700    [-0.289 , 0.194]     
##         Robust         -         -    -0.510     0.610    [-0.361 , 0.212]     
## =============================================================================
## NULL
## 
## ==============================================================================================================
## Outcome: evasione | LOMBARDIA SQUARE | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — evasione | h=30 km | p=1 | N used=317 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  317
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  131          186
## Eff. Number of Obs.             131          186
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     131          186
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.039     1.655     0.024     0.981    [-3.205 , 3.284]     
##         Robust         -         -     0.900     0.368    [-2.816 , 7.597]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — evasione | h=40 km | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.             132          197
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          197
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.252     1.569     0.161     0.872    [-2.824 , 3.328]     
##         Robust         -         -     0.146     0.884    [-4.350 , 5.048]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — evasione | h=50 km | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.             132          197
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          197
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.353     1.552     0.227     0.820    [-2.690 , 3.395]     
##         Robust         -         -    -0.087     0.931    [-4.823 , 4.413]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — evasione | AUTO bandwidth (default) | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.              25           60
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                   5.462        5.462
## BW bias (b)                  13.223       13.223
## rho (h/b)                     0.413        0.413
## Unique Obs.                     129          189
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     9.593     5.778     1.660     0.097    [-1.731 , 20.917]    
##         Robust         -         -     1.889     0.059    [-0.466 , 25.267]    
## =============================================================================
## NULL
## 
## ==============================================================================================================
## Outcome: services_level | LOMBARDIA SQUARE | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — services_level | h=30 km | p=1 | N used=317 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  317
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  131          186
## Eff. Number of Obs.             131          186
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     131          186
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.509     0.707     0.720     0.472    [-0.878 , 1.896]     
##         Robust         -         -    -0.058     0.954    [-2.452 , 2.312]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — services_level | h=40 km | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.             132          197
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          197
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.645     0.648     0.995     0.320    [-0.625 , 1.914]     
##         Robust         -         -     0.012     0.991    [-2.136 , 2.162]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — services_level | h=50 km | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.             132          197
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          197
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.701     0.630     1.114     0.265    [-0.533 , 1.936]     
##         Robust         -         -     0.038     0.969    [-2.058 , 2.140]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — services_level | AUTO bandwidth (default) | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.              42           77
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                   7.064        7.064
## BW bias (b)                  14.698       14.698
## rho (h/b)                     0.481        0.481
## Unique Obs.                     129          189
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     2.082     2.360     0.882     0.378    [-2.544 , 6.708]     
##         Robust         -         -     0.713     0.476    [-3.777 , 8.101]     
## =============================================================================
## NULL
## 
## ==============================================================================================================
## Outcome: Admin_Tax_Emp | LOMBARDIA SQUARE | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Admin_Tax_Emp | h=30 km | p=1 | N used=113 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  113
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                   48           65
## Eff. Number of Obs.              48           65
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                      48           65
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.135     0.079     1.718     0.086    [-0.019 , 0.289]     
##         Robust         -         -     0.322     0.747    [-0.207 , 0.288]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Admin_Tax_Emp | h=40 km | p=1 | N used=118 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  118
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                   48           70
## Eff. Number of Obs.              48           70
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                      48           70
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.155     0.078     1.982     0.047     [0.002 , 0.308]     
##         Robust         -         -     0.204     0.839    [-0.230 , 0.283]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Admin_Tax_Emp | h=50 km | p=1 | N used=118 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  118
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                   48           70
## Eff. Number of Obs.              48           70
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                      48           70
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.164     0.079     2.059     0.039     [0.008 , 0.319]     
##         Robust         -         -     0.161     0.872    [-0.238 , 0.281]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Admin_Tax_Emp | AUTO bandwidth (default) | p=1 | N used=118 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  118
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                   48           70
## Eff. Number of Obs.              20           17
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                   7.795        7.795
## BW bias (b)                  12.695       12.695
## rho (h/b)                     0.614        0.614
## Unique Obs.                      48           70
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -0.002     0.101    -0.017     0.987    [-0.200 , 0.196]     
##         Robust         -         -    -0.035     0.972    [-0.268 , 0.258]     
## =============================================================================
## NULL
## 
## ==============================================================================================================
## Outcome: edu_serv_lvl | LOMBARDIA SQUARE | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_serv_lvl | h=30 km | p=1 | N used=303 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  303
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  119          184
## Eff. Number of Obs.             119          184
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     119          184
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     1.730     0.599     2.890     0.004     [0.557 , 2.904]     
##         Robust         -         -     0.809     0.419    [-1.186 , 2.853]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_serv_lvl | h=40 km | p=1 | N used=315 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  315
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  120          195
## Eff. Number of Obs.             120          195
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     120          195
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     2.093     0.553     3.786     0.000     [1.009 , 3.176]     
##         Robust         -         -     0.875     0.382    [-0.991 , 2.590]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_serv_lvl | h=50 km | p=1 | N used=315 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  315
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  120          195
## Eff. Number of Obs.             120          195
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     120          195
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     2.229     0.541     4.119     0.000     [1.169 , 3.290]     
##         Robust         -         -     0.953     0.340    [-0.894 , 2.589]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_serv_lvl | AUTO bandwidth (default) | p=1 | N used=315 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  315
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  120          195
## Eff. Number of Obs.              40           83
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                   7.901        7.901
## BW bias (b)                  16.151       16.151
## rho (h/b)                     0.489        0.489
## Unique Obs.                     117          188
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     2.364     1.668     1.417     0.156    [-0.906 , 5.634]     
##         Robust         -         -     1.160     0.246    [-1.685 , 6.574]     
## =============================================================================
## NULL
## 
## ==============================================================================================================
## Outcome: edu_muni_school_area_per1000 | LOMBARDIA SQUARE | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_muni_school_area_per1000 | h=30 km | p=1 | N used=317 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  317
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  131          186
## Eff. Number of Obs.             131          186
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     131          186
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     2.588     1.820     1.422     0.155    [-0.978 , 6.154]     
##         Robust         -         -    -0.427     0.669    [-7.964 , 5.114]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_muni_school_area_per1000 | h=40 km | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.             132          197
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          197
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     3.352     1.679     1.997     0.046     [0.062 , 6.642]     
##         Robust         -         -    -0.041     0.967    [-5.965 , 5.720]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_muni_school_area_per1000 | h=50 km | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.             132          197
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          197
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     3.660     1.643     2.227     0.026     [0.439 , 6.880]     
##         Robust         -         -     0.107     0.914    [-5.389 , 6.014]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_muni_school_area_per1000 | AUTO bandwidth (default) | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.              38           74
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                   6.579        6.579
## BW bias (b)                  13.954       13.954
## rho (h/b)                     0.471        0.471
## Unique Obs.                     129          189
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.159     6.805     0.023     0.981   [-13.179 , 13.498]    
##         Robust         -         -    -0.185     0.853   [-18.203 , 15.062]    
## =============================================================================
## NULL
## 
## ==============================================================================================================
## Outcome: edu_emp_per1000 | LOMBARDIA SQUARE | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_emp_per1000 | h=30 km | p=1 | N used=169 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  169
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                   80           89
## Eff. Number of Obs.              80           89
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                      80           89
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -0.016     0.064    -0.243     0.808    [-0.141 , 0.110]     
##         Robust         -         -    -1.176     0.239    [-0.323 , 0.081]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_emp_per1000 | h=40 km | p=1 | N used=173 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  173
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                   80           93
## Eff. Number of Obs.              80           93
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                      80           93
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.010     0.058     0.178     0.859    [-0.104 , 0.124]     
##         Robust         -         -    -1.157     0.247    [-0.298 , 0.077]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_emp_per1000 | h=50 km | p=1 | N used=173 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  173
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                   80           93
## Eff. Number of Obs.              80           93
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                      80           93
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.021     0.056     0.376     0.707    [-0.089 , 0.131]     
##         Robust         -         -    -1.133     0.257    [-0.291 , 0.078]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — edu_emp_per1000 | AUTO bandwidth (default) | p=1 | N used=173 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  173
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                   80           93
## Eff. Number of Obs.              24           35
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                   7.093        7.093
## BW bias (b)                  12.686       12.686
## rho (h/b)                     0.559        0.559
## Unique Obs.                      79           91
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -0.126     0.129    -0.975     0.330    [-0.380 , 0.127]     
##         Robust         -         -    -0.778     0.437    [-0.480 , 0.207]     
## =============================================================================
## NULL
## 
## ==============================================================================================================
## Outcome: PublS_CyclePath_per | LOMBARDIA SQUARE | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — PublS_CyclePath_per | h=30 km | p=1 | N used=316 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  316
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  131          185
## Eff. Number of Obs.             131          185
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     131          185
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     6.602     3.253     2.030     0.042     [0.227 , 12.977]    
##         Robust         -         -     0.617     0.537    [-7.564 , 14.513]    
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — PublS_CyclePath_per | h=40 km | p=1 | N used=328 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  328
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          196
## Eff. Number of Obs.             132          196
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          196
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     7.318     2.915     2.510     0.012     [1.605 , 13.032]    
##         Robust         -         -     0.743     0.457    [-6.127 , 13.611]    
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — PublS_CyclePath_per | h=50 km | p=1 | N used=328 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  328
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          196
## Eff. Number of Obs.             132          196
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          196
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     7.567     2.812     2.691     0.007     [2.057 , 13.078]    
##         Robust         -         -     0.798     0.425    [-5.658 , 13.429]    
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — PublS_CyclePath_per | AUTO bandwidth (default) | p=1 | N used=328 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  328
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          196
## Eff. Number of Obs.              62          109
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  10.820       10.820
## BW bias (b)                  19.866       19.866
## rho (h/b)                     0.545        0.545
## Unique Obs.                     129          188
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     3.782     6.323     0.598     0.550    [-8.611 , 16.174]    
##         Robust         -         -     0.429     0.668   [-12.190 , 19.018]    
## =============================================================================
## NULL
## 
## ==============================================================================================================
## Outcome: pol_mun_road | LOMBARDIA SQUARE | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — pol_mun_road | h=30 km | p=1 | N used=317 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  317
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  131          186
## Eff. Number of Obs.             131          186
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     131          186
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional   -27.026    18.635    -1.450     0.147   [-63.549 , 9.497]     
##         Robust         -         -    -2.125     0.034   [-98.065 , -3.952]    
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — pol_mun_road | h=40 km | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.             132          197
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          197
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional   -15.200    14.835    -1.025     0.306   [-44.276 , 13.877]    
##         Robust         -         -    -2.319     0.020  [-112.217 , -9.426]    
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — pol_mun_road | h=50 km | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.             132          197
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          197
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional   -10.745    13.457    -0.799     0.425   [-37.120 , 15.629]    
##         Robust         -         -    -2.198     0.028  [-115.957 , -6.646]    
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — pol_mun_road | AUTO bandwidth (default) | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.              15           50
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                   4.108        4.108
## BW bias (b)                   8.933        8.933
## rho (h/b)                     0.460        0.460
## Unique Obs.                     129          189
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional   209.952   136.695     1.536     0.125   [-57.965 , 477.869]   
##         Robust         -         -     1.633     0.102   [-50.313 , 553.350]   
## =============================================================================
## NULL
## 
## ==============================================================================================================
## Outcome: Pillar2_pol | Year=2010 | LOMBARDIA SQUARE | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Pillar2_pol | Year=2010 | h=30 km | p=1 | N used=317 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  317
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  131          186
## Eff. Number of Obs.             131          186
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     131          186
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -1.004     1.756    -0.572     0.568    [-4.446 , 2.439]     
##         Robust         -         -    -1.478     0.139    [-9.568 , 1.340]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Pillar2_pol | Year=2010 | h=40 km | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.             132          197
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          197
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -0.257     1.638    -0.157     0.875    [-3.467 , 2.954]     
##         Robust         -         -    -1.431     0.152    [-8.534 , 1.331]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Pillar2_pol | Year=2010 | h=50 km | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.             132          197
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          197
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -0.062     1.607    -0.039     0.969    [-3.212 , 3.088]     
##         Robust         -         -    -1.279     0.201    [-8.017 , 1.685]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Pillar2_pol | Year=2010 | AUTO bandwidth (default) | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.              46           86
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                   8.211        8.211
## BW bias (b)                  16.911       16.911
## rho (h/b)                     0.486        0.486
## Unique Obs.                     129          189
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -1.349     4.100    -0.329     0.742    [-9.384 , 6.686]     
##         Robust         -         -    -0.367     0.713   [-11.967 , 8.191]     
## =============================================================================
## NULL
## 
## ==============================================================================================================
## Outcome: Pillar2_pol | Year=2020 | LOMBARDIA SQUARE | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Pillar2_pol | Year=2020 | h=30 km | p=1 | N used=317 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  317
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  131          186
## Eff. Number of Obs.             131          186
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     131          186
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -0.102     1.901    -0.054     0.957    [-3.828 , 3.623]     
##         Robust         -         -    -0.666     0.506    [-7.984 , 3.936]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Pillar2_pol | Year=2020 | h=40 km | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.             132          197
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          197
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.731     1.803     0.406     0.685    [-2.803 , 4.265]     
##         Robust         -         -    -0.839     0.401    [-7.733 , 3.096]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Pillar2_pol | Year=2020 | h=50 km | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.             132          197
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          197
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     1.047     1.783     0.587     0.557    [-2.449 , 4.542]     
##         Robust         -         -    -0.857     0.392    [-7.660 , 3.000]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — Pillar2_pol | Year=2020 | AUTO bandwidth (default) | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.              42           77
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                   7.035        7.035
## BW bias (b)                  14.652       14.652
## rho (h/b)                     0.480        0.480
## Unique Obs.                     129          189
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -0.334     5.062    -0.066     0.947   [-10.255 , 9.586]     
##         Robust         -         -    -0.066     0.947   [-13.320 , 12.452]    
## =============================================================================
## NULL
## 
## ==============================================================================================================
## Outcome: marr_civil | LOMBARDIA SQUARE | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — marr_civil | h=30 km | p=1 | N used=317 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  317
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  131          186
## Eff. Number of Obs.             131          186
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     131          186
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional   -12.122    12.715    -0.953     0.340   [-37.042 , 12.799]    
##         Robust         -         -    -0.822     0.411   [-19.008 , 7.775]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — marr_civil | h=40 km | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.             132          197
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          197
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -6.847     8.526    -0.803     0.422   [-23.557 , 9.864]     
##         Robust         -         -    -1.225     0.221   [-49.635 , 11.460]    
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — marr_civil | h=50 km | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.             132          197
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          197
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -4.487     6.742    -0.666     0.506   [-17.701 , 8.727]     
##         Robust         -         -    -1.189     0.234   [-58.228 , 14.245]    
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — marr_civil | AUTO bandwidth (default) | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.              19           53
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                   4.771        4.771
## BW bias (b)                   9.318        9.318
## rho (h/b)                     0.512        0.512
## Unique Obs.                     129          189
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    43.780    20.696     2.115     0.034     [3.217 , 84.343]    
##         Robust         -         -     2.021     0.043     [1.551 , 100.351]   
## =============================================================================
## NULL
## 
## ==============================================================================================================
## Outcome: marr_rel | LOMBARDIA SQUARE | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — marr_rel | h=30 km | p=1 | N used=317 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  317
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  131          186
## Eff. Number of Obs.             131          186
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     131          186
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -4.260     4.308    -0.989     0.323   [-12.703 , 4.183]     
##         Robust         -         -    -1.286     0.199   [-12.867 , 2.673]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — marr_rel | h=40 km | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.             132          197
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          197
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -2.183     3.104    -0.703     0.482    [-8.267 , 3.901]     
##         Robust         -         -    -1.494     0.135   [-19.488 , 2.630]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — marr_rel | h=50 km | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.             132          197
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          197
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -1.327     2.626    -0.505     0.613    [-6.473 , 3.820]     
##         Robust         -         -    -1.406     0.160   [-21.430 , 3.525]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — marr_rel | AUTO bandwidth (default) | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.              42           76
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                   6.938        6.938
## BW bias (b)                  11.750       11.750
## rho (h/b)                     0.590        0.590
## Unique Obs.                     129          189
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional    -6.662     4.999    -1.333     0.183   [-16.460 , 3.136]     
##         Robust         -         -    -1.190     0.234   [-21.358 , 5.219]     
## =============================================================================
## NULL
## 
## ==============================================================================================================
## Outcome: incomepc | LOMBARDIA SQUARE | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — incomepc | h=30 km | p=1 | N used=317 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  317
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  131          186
## Eff. Number of Obs.             131          186
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     131          186
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional  2611.088   616.338     4.236     0.000  [1403.087 , 3819.088]  
##         Robust         -         -     1.256     0.209  [-809.458 , 3694.875]  
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — incomepc | h=40 km | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.             132          197
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          197
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional  2906.803   564.059     5.153     0.000  [1801.268 , 4012.339]  
##         Robust         -         -     1.706     0.088  [-245.731 , 3541.413]  
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — incomepc | h=50 km | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.             132          197
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          197
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional  3012.067   550.454     5.472     0.000  [1933.197 , 4090.936]  
##         Robust         -         -     1.913     0.056   [-43.239 , 3579.641]  
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — incomepc | AUTO bandwidth (default) | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.              55           96
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                   9.348        9.348
## BW bias (b)                  19.922       19.922
## rho (h/b)                     0.469        0.469
## Unique Obs.                     129          189
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional  2955.607  1813.800     1.630     0.103  [-599.377 , 6510.591]  
##         Robust         -         -     1.410     0.158 [-1243.473 , 7624.355]  
## =============================================================================
## NULL
## 
## ==============================================================================================================
## Outcome: income | LOMBARDIA SQUARE | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — income | h=30 km | p=1 | N used=317 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  317
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  131          186
## Eff. Number of Obs.             131          186
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     131          186
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional-203086417.400178913009.220    -1.135     0.256[-553749471.837 , 147576637.038]
##         Robust         -         -    -1.736     0.083[-207615414.107 , 12571791.460]
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — income | h=40 km | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.             132          197
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          197
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional-118185955.185116520885.608    -1.014     0.310[-346562694.423 , 110190784.053]
##         Robust         -         -    -1.429     0.153[-726696123.362 , 113801001.714]
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — income | h=50 km | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.             132          197
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          197
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional-81323204.54189117008.244    -0.913     0.361[-255989331.108 , 93342922.027]
##         Robust         -         -    -1.346     0.178[-856989877.868 , 159120640.815]
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — income | AUTO bandwidth (default) | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.              17           51
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                   4.481        4.481
## BW bias (b)                   8.919        8.919
## rho (h/b)                     0.502        0.502
## Unique Obs.                     129          189
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional303656334.545199890447.930     1.519     0.129[-88121744.252 , 695434413.341]
##         Robust         -         -     1.562     0.118[-95526124.582 , 845977760.830]
## =============================================================================
## NULL
## 
## ==============================================================================================================
## Outcome: expend_level | LOMBARDIA SQUARE | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — expend_level | h=30 km | p=1 | N used=317 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  317
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  131          186
## Eff. Number of Obs.             131          186
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     131          186
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.255     0.602     0.423     0.672    [-0.926 , 1.436]     
##         Robust         -         -     0.555     0.579    [-1.406 , 2.518]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — expend_level | h=40 km | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.             132          197
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          197
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.302     0.561     0.539     0.590    [-0.797 , 1.402]     
##         Robust         -         -     0.455     0.649    [-1.346 , 2.160]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — expend_level | h=50 km | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.             132          197
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          197
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.338     0.549     0.616     0.538    [-0.738 , 1.415]     
##         Robust         -         -     0.394     0.693    [-1.366 , 2.055]     
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — expend_level | AUTO bandwidth (default) | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.              54           94
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                   9.026        9.026
## BW bias (b)                  18.572       18.572
## rho (h/b)                     0.486        0.486
## Unique Obs.                     129          189
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional     0.837     1.329     0.630     0.529    [-1.767 , 3.441]     
##         Robust         -         -     0.609     0.543    [-2.263 , 4.303]     
## =============================================================================
## NULL
## 
## ==============================================================================================================
## Outcome: expenditure | LOMBARDIA SQUARE | p=1 | X in KM | NO region FE
## ==============================================================================================================
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — expenditure | h=30 km | p=1 | N used=317 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  317
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  131          186
## Eff. Number of Obs.             131          186
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  30.000       30.000
## BW bias (b)                  30.000       30.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     131          186
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional-1826407.3501613902.328    -1.132     0.258[-4989597.788 , 1336783.087]
##         Robust         -         -    -1.615     0.106[-1730029.922 , 166742.297]
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — expenditure | h=40 km | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.             132          197
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  40.000       40.000
## BW bias (b)                  40.000       40.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          197
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional-1085395.0961049889.006    -1.034     0.301[-3143139.735 , 972349.544]
##         Robust         -         -    -1.378     0.168[-6451852.084 , 1124291.563]
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — expenditure | h=50 km | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                      Manual
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.             132          197
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                  50.000       50.000
## BW bias (b)                  50.000       50.000
## rho (h/b)                     1.000        1.000
## Unique Obs.                     132          197
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional-762565.683801757.625    -0.951     0.342[-2333981.753 , 808850.387]
##         Robust         -         -    -1.304     0.192[-7631610.569 , 1534500.775]
## =============================================================================
## NULL
## 
## ------------------------------------------------------------------------------------------
## RDROBUST — expenditure | AUTO bandwidth (default) | p=1 | N used=329 | NO region FE
## ------------------------------------------------------------------------------------------
## Sharp RD estimates using local polynomial regression.
## 
## Number of Obs.                  329
## BW type                       mserd
## Kernel                   Triangular
## VCE method                       NN
## 
## Number of Obs.                  132          197
## Eff. Number of Obs.              10           43
## Order est. (p)                    1            1
## Order bias  (q)                   2            2
## BW est. (h)                   3.574        3.574
## BW bias (b)                   8.478        8.478
## rho (h/b)                     0.422        0.422
## Unique Obs.                     129          189
## 
## =============================================================================
##         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
## =============================================================================
##   Conventional415457.424446302.935     0.931     0.352[-459280.254 , 1290195.103]
##         Robust         -         -     1.641     0.101[-230817.238 , 2607050.435]
## =============================================================================
## NULL
dev.off()
## quartz_off_screen 
##                 2
sink()


# NEW: Donut RD (Lombardia square + no FE)
# Drop only treated-side observations within 2.5 km of the cutoff (keep all control-side)
donut_sq <- list()

for (yvar in OUTCOMES) {

  if (!(yvar %in% names(df_lomb_square))) next

  # Pillar2_pol in square: if year exists, keep as in main section
  if (yvar == "Pillar2_pol" && ("year" %in% names(df_lomb_square))) {

    for (yr in YEARS) {

      dY <- df_lomb_square %>% filter(year == yr)
      d1 <- collapse_one_row_per_muni(dY, keycol = KEYCOL, xcol = RUNNING, ycol = yvar, keep_year = FALSE)

      d1_donut <- apply_donut_treated_only(d1, donut_km = DONUT_TREATED_ONLY_KM)

      for (h in BWS_KM) {
        sub <- make_sub_noFE(d1_donut, h)
        if (is.null(sub)) next

        rb <- safe_rdrobust(sub$Y, sub$X, h = h, p = P,
                            label = paste0("DONUT Square | ", yvar, " | Year=", yr, " | h=", h))
        if (is.null(rb)) next

        donut_sq[[length(donut_sq) + 1]] <-
          extract_rdrobust(rb, outcome = yvar, h = h, sample = "LOMBARDIA_SQUARE_noFE_DONUT_treated2p5", year = yr, h_type = "MANUAL")
      }

      sub_full <- make_sub_full_noFE(d1_donut)
      if (!is.null(sub_full)) {
        rb_auto <- safe_rdrobust(sub_full$Y, sub_full$X, p = P,
                                 label = paste0("DONUT Square AUTO | ", yvar, " | Year=", yr))
        if (!is.null(rb_auto)) {
          donut_sq[[length(donut_sq) + 1]] <-
            extract_rdrobust(rb_auto, outcome = yvar, h = NA_real_, sample = "LOMBARDIA_SQUARE_noFE_DONUT_treated2p5", year = yr, h_type = "AUTO")
        }
      }
    }

  } else {

    d1 <- collapse_one_row_per_muni(df_lomb_square, keycol = KEYCOL, xcol = RUNNING, ycol = yvar, keep_year = FALSE)

    d1_donut <- apply_donut_treated_only(d1, donut_km = DONUT_TREATED_ONLY_KM)

    for (h in BWS_KM) {
      sub <- make_sub_noFE(d1_donut, h)
      if (is.null(sub)) next

      rb <- safe_rdrobust(sub$Y, sub$X, h = h, p = P,
                          label = paste0("DONUT Square | ", yvar, " | h=", h))
      if (is.null(rb)) next

      donut_sq[[length(donut_sq) + 1]] <-
        extract_rdrobust(rb, outcome = yvar, h = h, sample = "LOMBARDIA_SQUARE_noFE_DONUT_treated2p5", year = NA_integer_, h_type = "MANUAL")
    }

    sub_full <- make_sub_full_noFE(d1_donut)
    if (!is.null(sub_full)) {
      rb_auto <- safe_rdrobust(sub_full$Y, sub_full$X, p = P,
                               label = paste0("DONUT Square AUTO | ", yvar))
      if (!is.null(rb_auto)) {
        donut_sq[[length(donut_sq) + 1]] <-
          extract_rdrobust(rb_auto, outcome = yvar, h = NA_real_, sample = "LOMBARDIA_SQUARE_noFE_DONUT_treated2p5", year = NA_integer_, h_type = "AUTO")
      }
    }
  }
}

donut_sq_df <- dplyr::bind_rows(donut_sq)
if (nrow(donut_sq_df) > 0) {
  readr::write_csv(donut_sq_df, donut_csv_sq)
  cat("[Donut RD | Square] Wrote: ", donut_csv_sq, " | rows=", nrow(donut_sq_df), "
", sep = "")
} else {
  cat("[Donut RD | Square] No donut RD results produced.
")
}
## [Donut RD | Square] Wrote: output/rdrobust_results_LombardiaSquare_area_x1.25_noFE_DONUT_treated2p5.csv | rows=72

Export square-sample difference-in-means results at 40 km

dm_sq40 <- dplyr::bind_rows(sq_dm40) if (nrow(dm_sq40) > 0) { readr::write_csv(dm_sq40, dm_csv_sq40) cat(“Wrote:”, dm_csv_sq40, ” | rows=“, nrow(dm_sq40),”“, sep =”“) print( dm_sq40 %>% dplyr::select(sample, outcome, year, h_km, n_treated, n_control, diff_treat_minus_control, se_diff, t_stat, df, p_value) %>% head(10) ) } else { cat(”No usable data within ±40 km for any outcome; skipping export.“, sep =”“) }

Export square-sample sign-based difference-in-means results (X>=0 vs X<0; no bandwidth trim)

dm_sqsign <- dplyr::bind_rows(sq_sign_dm) if (nrow(dm_sqsign) > 0) { readr::write_csv(dm_sqsign, dm_csv_sqsign) cat(“Wrote:”, dm_csv_sqsign, ” | rows=“, nrow(dm_sqsign),”“, sep =”“) print( dm_sqsign %>% dplyr::select(sample, outcome, year, n_pos, n_neg, diff_pos_minus_neg, se_diff, t_stat, df, p_value) %>% head(10) ) } else { cat(”No usable data in square for any outcome; skipping export.“, sep =”“) }

{r}
read_if_exists <- function(path) {
  if (file.exists(path)) readr::read_csv(path, show_col_types = FALSE) else NULL
}

dm_all40_tbl   <- read_if_exists(dm_csv_all40)
dm_lomb40_tbl  <- read_if_exists(dm_csv_lomb40)
dm_sq40_tbl    <- read_if_exists(dm_csv_sq40)
dm_sqsign_tbl  <- read_if_exists(dm_csv_sqsign)

# 1) Bandwidth-based diff-in-means (|X| <= 40 km): treated vs control by Treated indicator
dm_band <- dplyr::bind_rows(dm_all40_tbl, dm_lomb40_tbl, dm_sq40_tbl)

if (!is.null(dm_band) && nrow(dm_band) > 0) {
  dm_band_out <- dm_band %>%
    dplyr::select(sample, outcome, year, h_km,
                  n_treated, n_control,
                  mean_treated, mean_control,
                  diff_treat_minus_control, se_diff, t_stat, df, p_value) %>%
    dplyr::arrange(sample, outcome, year)

  knitr::kable(dm_band_out, digits = 4)
} else {
  cat("No bandwidth-based diff-in-means table was created (no rows found).\n")
}

cat("\n")

# 2) Within-square sign-based diff-in-means (X >= 0 vs X < 0): no bandwidth trimming
if (!is.null(dm_sqsign_tbl) && nrow(dm_sqsign_tbl) > 0) {
  dm_sqsign_out <- dm_sqsign_tbl %>%
    dplyr::select(sample, outcome, year,
                  n_pos, n_neg,
                  mean_pos, mean_neg,
                  diff_pos_minus_neg, se_diff, t_stat, df, p_value) %>%
    dplyr::arrange(sample, outcome, year)

  knitr::kable(dm_sqsign_out, digits = 4)
} else {
  cat("No within-square sign-based diff-in-means table was created (no rows found).\n")
}

Outputs

This Rmd writes the following files to output/: