# NOT RUN {
# compute E-value for leukemia example in VanderWeele and Ding (2017)
evalue(RR(0.80), 0.71, 0.91)
# you can also pass just the point estimate
# and return just the E-value for the point estimate with summary()
summary(evalue(RR(0.80)))
# demonstrate symmetry of E-value
# this apparently causative association has same E-value as the above
summary(evalue(RR(1 / 0.80)))
# E-value for a non-null true value
summary(evalue(RR(2), true = 1.5))
## Hsu and Small (2013 Biometrics) Data
## sensitivity analysis after log-linear or logistic regression
head(lead)
## log linear model -- obtain the conditional risk ratio
lead.loglinear = glm(lead ~ ., family = binomial(link = "log"),
data = lead[,-1])
est_se = summary(lead.loglinear)$coef["smoking", c(1, 2)]
est = RR(exp(est_se[1]))
lowerRR = exp(est_se[1] - 1.96*est_se[2])
upperRR = exp(est_se[1] + 1.96*est_se[2])
evalue(est, lowerRR, upperRR)
## logistic regression -- obtain the conditional odds ratio
lead.logistic = glm(lead ~ ., family = binomial(link = "logit"),
data = lead[,-1])
est_se = summary(lead.logistic)$coef["smoking", c(1, 2)]
est = OR(exp(est_se[1]), rare = FALSE)
lowerOR = exp(est_se[1] - 1.96*est_se[2])
upperOR = exp(est_se[1] + 1.96*est_se[2])
evalue(est, lowerOR, upperOR)
## linear regression
# standardizing conservatively by SD(Y)
ols = lm(age ~ income, data = lead)
est = OLS(ols$coefficients[2], sd = sd(lead$age))
# for a 1-unit increase in income
evalue(est = est,
se = summary(ols)$coefficients['income', 'Std. Error'])
# for a 0.5-unit increase in income
evalue(est = est,
se = summary(ols)$coefficients['income', 'Std. Error'],
delta = 0.5)
# E-value for Cohen's d = 0.5 with SE = 0.25
evalue(est = MD(.5), se = .25)
# compute E-value for HR = 0.56 with CI: [0.46, 0.69]
# for a common outcome
evalue(HR(0.56, rare = FALSE), lo = 0.46, hi = 0.69)
# for a rare outcome
evalue(HR(0.56, rare = TRUE), lo = 0.46, hi = 0.69)
# }
Run the code above in your browser using DataLab