Nothing
## ---- include = FALSE---------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#",
warning = FALSE,
message = FALSE
)
## -----------------------------------------------------------------------------
library(twoxtwo)
titanic %>%
odds_ratio(.data = ., exposure = Crew, outcome = Survived)
## -----------------------------------------------------------------------------
titanic %>%
risk_ratio(.data = ., exposure = Crew, outcome = Survived)
## -----------------------------------------------------------------------------
titanic %>%
risk_diff(.data = ., exposure = Crew, outcome = Survived)
## -----------------------------------------------------------------------------
library(dplyr)
library(tidyr)
library(purrr)
library(ggplot2)
## write a helper function to compute odds ratio and risk ratio
## this function will stack the two outputs on top of one another as a tibble
or_rr <- function(incidence = 0.8) {
## define counts in two-by-two cells based on the incidence proportion
A <- round(100*incidence)
B <- 100 - A
C <- 10
D <- 90
## create a tibble with observation level data from the counts above
dat <-
tribble(~x, ~y, ~n,
TRUE, TRUE, A,
TRUE, FALSE, B,
FALSE,TRUE, C,
FALSE, FALSE, D) %>%
uncount(n)
## calculate odds ratio and risk ratio
or <- odds_ratio(dat, exposure = x, outcome = y)
rr <- risk_ratio(dat, exposure = x , outcome = y)
## stack the two on top of one another
## add a column with incidence
bind_rows(or,rr) %>%
mutate(Incidence = incidence)
}
## iterate over all incidence values from 0.025 to 0.5 (in 0.025 increments)
## combine results as a tibble
res <-
seq(0.025, 0.5, by = 0.025) %>%
map_df(., or_rr)
## ---- echo=FALSE--------------------------------------------------------------
res %>%
select(Measure = measure, Estimate = estimate, Incidence) %>%
mutate(Estimate = round(Estimate, 3)) %>%
spread(Measure, Estimate) %>%
knitr::kable(.)
## ---- fig.width=7, fig.height=5, fig.align="center", echo = FALSE-------------
res %>%
ggplot(aes(Incidence, estimate)) +
geom_line(aes(group = measure, col = measure), lwd = 0.75) +
scale_y_log10() +
theme_minimal() +
labs(x = "Incidence", y = "Estimate") +
theme(legend.position = "bottom", legend.title = element_blank())
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.