# Load required libraries
library(fixest)
library(ggplot2)
library(rdrobust)
library(rddensity)
library(binsreg)

# Define URL for data
url <- "https://github.com/scunning1975/causal-inference-class/raw/master/hansen_dwi.dta"

# Load the data from github
df <- haven::read_dta(url)

# 1.a. create dui treatment variable for bac1>=0.08
df$dui = (df$bac1 > 0.08)

# 1.b. Re-center our running variable at bac1=0.08
df$bac1_orig = df$bac1
df$bac1 = df$bac1 - 0.08

# Use two separate bandwidths (0.03 to 0.13; 0.055 to 0.105)
# Model: yi = Xi*gamma + alpha1*DUIi + alpha2*BACi + alpha3*BACi*DUIi + ui

# First bandwidth
feols(
  c(white, male, acc, aged) ~ dui + bac1 + i(dui, bac1), 
  df[df$bac1_orig >= 0.03 & df$bac1_orig <= 0.13, ], 
  vcov = "hc1"
) |> 
  etable()

# Second bandwidth
feols(
  c(white, male, acc, aged) ~ dui + bac1 + i(dui, bac1), 
  df[df$bac1_orig >= 0.055 & df$bac1_orig <= 0.105, ], 
  vcov = "hc1"
) |> 
  etable()