## ----include=FALSE, message=FALSE, warning=FALSE------------------------------
library(episensr)

## ----conf_array---------------------------------------------------------------
confounders.array(crude_risk = 2,
				  type = "binary",
				  bias_parms = c(2.5, 0.1, 0.5))

## ----conf_array_apply,warning=FALSE,message=FALSE,fig.width=6,fig.height=4----
dat <- expand.grid(RR_CD = seq(1, 5.5, 0.5), P_C1 = seq(0, 1, 0.1))
dat$RR_adj <- apply(dat, 1,
					function(x) confounders.array(2,
												  type = "binary",
												  bias_parms = c(x[1],
																 x[2],
																 0.5))[[3]][1])

## ----array_3d,warning=FALSE,message=FALSE,fig.width=8,fig.height=8------------
library(lattice)
library(grid)
wireframe(RR_adj ~ RR_CD * P_C1,
		  data = dat,
		  xlab = "RR\nconfounder-outcome",
		  ylab = "Prevalence confounder\namong exposed",
		  zlab = "Adjusted\nRR",
		  drape = TRUE, colorkey = TRUE,
		  scales = list(arrows = FALSE, cex = .5, tick.number = 10,
						z = list(arrows = FALSE), distance = c(1.5, 1.5, 1.5)),
		  zlim = 0:4,
		  light.source = c(10, 0, 10),
		  col.regions = rainbow(100, s = 1, v = 1,
								start = 0, end = max(1, 100 - 1) / 100,
								alpha = .8),
		  screen = list(z = -60, x = -60),
		  panel = function(...) {
			  panel.wireframe(...)
			  grid.text("Observed RR = 1\nPrevalence confounder\namong unexposed = 0.5",
						0.125, 0.175, default.units = "native")
		  })

## ----conf_ext-----------------------------------------------------------------
confounders.ext(RR = 1, bias_parms = c(0.1, 1.6, 0.1, 0.51))

## ----conf_ext_apply,warning=FALSE,message=FALSE,fig.width=8,fig.height=6------
dat <- expand.grid(RR_CD = seq(0.1, 1, 0.1))
dat$nsaid <- apply(dat, 1,
				   function(x) confounders.ext(1,
											   bias_parms = c(x[1], 0.9,
															  0.1, 0.4))[[3]][2])
dat$non_user <- apply(dat, 1,
					  function(x) confounders.ext(1,
												  bias_parms = c(x[1], 1.03,
																 0.09, 0.12))[[3]][2])
dat$naproxen <- apply(dat, 1,
					  function(x) confounders.ext(1,
												  bias_parms = c(x[1], 1.15,
																 0.09, 0.79))[[3]][2])
dat$rof_napro <- apply(dat, 1,
					   function(x) confounders.ext(1,
												   bias_parms = c(x[1], 1.6,
																  0.1, 0.51))[[3]][2])
library(tidyr)
dat2 <- dat %>% gather(nsaid, non_user, naproxen, rof_napro,
					   key = "COX2", value = "bias_perc")

ggplot(dat2, aes(x = RR_CD, y = bias_perc, group = COX2, colour = COX2)) +
	geom_line() +
	scale_colour_brewer(palette = "Dark2",
						labels = c("COX-2 vs. naproxen", "COX-2 vs. non-users",
								   "COX-2 vs. non-selective NSAIDs",
								   "Rofecoxib vs. naproxen")) +
	geom_vline(xintercept = 0.7) +
	xlab("Association Confounder-Disease (RR)") +
	ylab("Bias of Exposure-Disease Association (RR) in %") +
	ggtitle(expression(paste("Bias as a function of misspecification of the ",
							 RR[CD], " from the literature"))) +
	theme(legend.position = c(.85, .3),
		  legend.title = element_blank()) +
	annotate("text", label = 'paste("Literature estimate ", RR[CD], " = 0.7")',
			 x = 0.6, y = -3.75, parse = TRUE)

## ----e-value-1----------------------------------------------------------------
confounders.evalue(est = 3.9, lower_ci = 1.8, upper_ci = 8.7, type = "RR")

## ----e-value-2----------------------------------------------------------------
confounders.evalue(est = 1.06, lower_ci = 0.93, upper_ci = 1.22,
				   type = "RR", true_est = 1.2)