# Kausale Inferenz 
# Laden des dplyr Pakets
library(dplyr)
library(knitr)

# t: treatment (Behandlung)
# c: control (Kontrolle)

# Wahre Daten: Bluthochdruckwerte unter Behandlung (Y_t) und Kontrolle (Y_c)
wahre_daten <- data.frame(
  subject = c("Joe", "Mary", "Sally", "Bob", "James"),
  Y_t = c(130, 120, 100, 110, 115),  # Blutdruck unter Behandlung
  Y_c = c(115, 125, 125, 130, 120)   # Blutdruck unter Kontrolle
)

wahre_daten

# Berechnung des kausalen Effekts für jeden Probanden
wahre_daten <- wahre_daten %>%
  mutate(causal_effect = Y_t - Y_c)

# Berechnung des durchschnittlichen kausalen Effekts (ATE)
ate_wahr <- mean(wahre_daten$causal_effect)
cat("Wahrer durchschnittlicher kausaler Effekt (ATE):", ate_wahr, "\n")

# Beispiel einer zufälligen Zuweisung
zufall_zuweisung1 <- data.frame(
  subject = c("Joe", "Mary", "Sally", "Bob", "James"),
  Y_t = c(130, 120, NA, NA, 115),  # Blutdruck unter Behandlung
  Y_c = c(NA, NA, 125, 130, NA)    # Blutdruck unter Kontrolle
)

# Berechnung des durchschnittlichen kausalen Effekts für die zufällige Zuweisung
ate_zufall1 <- (mean(zufall_zuweisung1$Y_t, na.rm = TRUE) - mean(zufall_zuweisung1$Y_c, na.rm = TRUE))
cat("Durchschnittlicher kausaler Effekt (zufällige Zuweisung 1):", ate_zufall1, "\n")


# Beispiel einer anderen zufälligen Zuweisung
zufall_zuweisung2 <- data.frame(
  subject = c("Joe", "Mary", "Sally", "Bob", "James"),
  Y_t = c(130, 120, 100, NA, NA),  # Blutdruck unter Behandlung
  Y_c = c(NA, NA, NA, 130, 120)    # Blutdruck unter Kontrolle
)

# Berechnung des durchschnittlichen kausalen Effekts für die andere zufällige Zuweisung
ate_zufall2 <- (mean(zufall_zuweisung2$Y_t, na.rm = TRUE) - mean(zufall_zuweisung2$Y_c, na.rm = TRUE))
cat("Durchschnittlicher kausaler Effekt (zufällige Zuweisung 2):", ate_zufall2, "\n")




