example_continuous.Rmd
Set up our causal model.
n <- 1e2
U <- rnorm(n)
T <- 4 * U + rnorm(n)
Y <- 8 * T -5 * U + rnorm(n)
O <- as.numeric(cut(U, 5)) # other ways to generate ordinal variables
dat <- data.frame(cbind(U, T, Y, O))
Look at our Naive estimate
lm(Y ~ T + O, dat)
##
## Call:
## lm(formula = Y ~ T + O, data = dat)
##
## Coefficients:
## (Intercept) T O
## 5.281 7.286 -1.813
Look at our bayesian bootstrapping method
## $what
## 1 2 3 4 5 6
## -5.90874831 0.99302817 -7.29296911 11.89366546 0.97543718 -3.77515588
## 7 8 9 10 11 12
## 3.44668144 6.68329047 5.19744460 0.63690225 10.56286909 1.48901970
## 13 14 15 16 17 18
## -3.16161344 -15.83836262 7.45645610 -0.79947435 -0.56509021 6.38100172
## 19 20 21 22 23 24
## 6.66036448 4.58889799 5.75327595 7.45794469 0.14964064 -14.10257424
## 25 26 27 28 29 30
## 4.93957190 0.59715335 -0.79966339 -11.28158350 -5.03495842 1.72085466
## 31 32 33 34 35 36
## 8.78280117 -1.23694076 2.75336225 -2.14447227 -10.32363211 -5.81509202
## 37 38 39 40 41 42
## -4.20334837 -1.04740493 6.64574876 5.53156181 -3.28293349 0.23082904
## 43 44 45 46 47 48
## 3.33573268 4.14364894 -6.84127908 -6.34492449 4.43456093 5.78468308
## 49 50 51 52 53 54
## -2.27028508 4.23897038 2.73639927 -5.01251614 1.35983101 -8.85347413
## 55 56 57 58 59 60
## 7.36201956 12.40709863 -0.54686580 -8.04078711 3.03850334 1.74582112
## 61 62 63 64 65 66
## 16.63084619 -0.63784793 6.67394022 1.27231519 -6.36942640 3.81804717
## 67 68 69 70 71 72
## -13.35472609 7.55607378 0.64185259 15.14667003 5.27856228 -5.30777596
## 73 74 75 76 77 78
## 5.38178282 -6.60439660 -8.83843384 1.50405912 -3.05296309 2.73816341
## 79 80 81 82 83 84
## 1.74108283 -3.27191982 -6.24794196 0.49590239 8.34174561 -13.37840708
## 85 86 87 88 89 90
## 5.63147812 1.66459909 9.25112091 -2.53160451 1.42886494 0.04849067
## 91 92 93 94 95 96
## -4.79713913 8.60778289 6.99238677 6.52556458 10.28347372 3.38401064
## 97 98 99 100
## -6.64421442 -5.98610562 -7.64804041 -4.70059214