12  Causal Inference

Outline how to solve the Pearl, Glymour, and Jewell (2016) exercises in R.

12.1 Study question 1.3.2

Data:

library(tidyverse)
ed <- tibble(Gender = c("M","M","M","M","F","F","F","F"),
             eLevel = c("U","H","C","G","U","H","C","G"),
             num    = c(112,231,595,242,136,189,763,172)) %>%
  mutate(total = sum(num))

which we tabulate as

ed %>%
  kable()
Gender eLevel num total
M U 112 2440
M H 231 2440
M C 595 2440
M G 242 2440
F U 136 2440
F H 189 2440
F C 763 2440
F G 172 2440

12.2 Exercises and answers

12.2.1 Find \(P(eLevel = H)\)

ed %>%
  filter(eLevel == "H") %>%
  mutate(p_H = sum(num)/total) %>%
  kable()
Gender eLevel num total p_H
M H 231 2440 0.1721311
F H 189 2440 0.1721311

12.2.2 Find \(P(eLevel = H\ \vee \ Gender = F)\)

ed %>%
  filter(Gender == "F" | eLevel == "H") %>%
  mutate(p_HorF = sum(num)/total) %>%
  kable()
Gender eLevel num total p_HorF
M H 231 2440 0.6110656
F U 136 2440 0.6110656
F H 189 2440 0.6110656
F C 763 2440 0.6110656
F G 172 2440 0.6110656

12.2.3 Find \(P(eLevel = H\ |\ Gender = F)\)

ed %>%
  filter(Gender == "F") %>%
  mutate(tcond = sum(num)) %>% 
  filter(eLevel == "H") %>%
  mutate(p_HgivenF = sum(num)/tcond) %>%
  kable()
Gender eLevel num total tcond p_HgivenF
F H 189 2440 1260 0.15

12.2.4 Find \(P(Gender = F\ | \ eLevel = H)\)

ed %>%
  filter(eLevel == "H") %>%
  mutate(tcond = sum(num)) %>% 
  filter(Gender == "F") %>%
  mutate(p_FgivenH = sum(num)/tcond) %>%
  kable()
Gender eLevel num total tcond p_FgivenH
F H 189 2440 420 0.45