## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)

## ----setup--------------------------------------------------------------------
library(deltapif)

## -----------------------------------------------------------------------------
library(deltapif)

paf(p = 0.085, beta = log(1.59), quiet = TRUE)

## -----------------------------------------------------------------------------
var_log_rr <- ((log(2.20) - log(1.15)) / (2 * 1.96))^2
var_log_rr

## -----------------------------------------------------------------------------
paf_dementia <- paf(
  p         = 0.085, 
  beta      = log(1.59), 
  var_beta  = var_log_rr, 
  var_p     = 0
)
paf_dementia

## -----------------------------------------------------------------------------
lee_pif <- pif(
  p        = 0.085, 
  p_cft    = 0.085 * (1 - 0.15), # 15% reduction
  beta     = log(1.59), 
  var_beta = var_log_rr, 
  var_p    = 0
)
lee_pif

## -----------------------------------------------------------------------------
pif_relative <- pif(
  p        = 0.085,
  p_cft    = function(p) 0.85 * p, # 15% reduction of the current prevalence
  beta     = log(1.59),
  var_beta = var_log_rr,
  var_p    = 0.01^2
)
pif_relative

## -----------------------------------------------------------------------------
pif_fixed <- pif(p = 0.085, p_cft = 0.85 * 0.085, beta = log(1.59),
                 var_beta = var_log_rr, var_p = 0.01^2)
pif_fixed

## -----------------------------------------------------------------------------
variance_components(pif_relative)
variance_components(pif_fixed)

## -----------------------------------------------------------------------------
averted_cases(426.5, lee_pif, variance = 179.3752)

## -----------------------------------------------------------------------------
attributable_cases(426.5, paf_dementia, variance = 179.3752)

## -----------------------------------------------------------------------------
paf_men   <- paf(p = 0.41, beta = 0.31, var_p = 0.001,
                 var_beta = 0.14,
                 label = "Men")
paf_women <- paf(p = 0.37, beta = 0.35, var_p = 0.001, 
                 var_beta = 0.16,
                 label = "Women")

## -----------------------------------------------------------------------------
paf_total(paf_men, paf_women, weights = c(0.49, 0.51))

## -----------------------------------------------------------------------------
paf_men_shared   <- paf(p = 0.41, beta = list("rr_meta" = 0.31), var_p = 0.001,
                        var_beta = 0.14, label = "Men")
paf_women_shared <- paf(p = 0.37, beta = list("rr_meta" = 0.31), var_p = 0.001,
                        var_beta = 0.14, label = "Women")

paf_total(paf_men_shared, paf_women_shared, weights = c(0.49, 0.51))

## -----------------------------------------------------------------------------
paf_total(
  paf(p = 0.41, beta = 0.31, var_p = 0.001, var_beta = 0.14, label = "Men"),
  paf(p = 0.37, beta = 0.31, var_p = 0.001, var_beta = 0.14, label = "Women"),
  weights = c(0.49, 0.51)
)

## -----------------------------------------------------------------------------
cov_beta <- matrix(c(0.14, 0.05,
                     0.05, 0.16), ncol = 2,
                   dimnames = list(c("rr_men", "rr_women"), c("rr_men", "rr_women")))

paf_total(
  paf(p = 0.41, beta = list("rr_men" = 0.31), var_p = 0.001, var_beta = 0.14, label = "Men"),
  paf(p = 0.37, beta = list("rr_women" = 0.35), var_p = 0.001, var_beta = 0.16, label = "Women"),
  weights  = c(0.49, 0.51),
  var_beta = cov_beta
)

## -----------------------------------------------------------------------------
paf_lead  <- paf(p = 0.41, beta = 0.31, var_p = 0.001,
                 var_beta = 0.014,
                 label = "Lead")
paf_absts <- paf(p = 0.61, beta = 0.15, var_p = 0.001, 
                 var_beta = 0.001,
                 label = "Asbestus")

## -----------------------------------------------------------------------------
paf_ensemble(paf_lead, paf_absts, weights = c(0.9, 0.8))

## -----------------------------------------------------------------------------
commonality <- c(0.1, 0.2)
weighted_adjusted_paf(paf_lead, paf_absts, weights = 1 - commonality)

