Learn R Programming

episensr

The R package episensr allows to do basic sensitivity analysis of epidemiological results as described in Applying Quantitative Bias Analysis to Epidemiological Data by Timothy L. Lash, Matthew P. Fox, and Aliza K. Fink (ISBN: 978-0-387-87960-4, bias.analysis).

License

This package is free and open source software, licensed under GPL2.

Citation

To cite episensr, please use:

citation("episensr")
#> To cite package 'episensr' in publications use:
#> 
#>   Haine, Denis (2023). The episensr package: basic sensitivity analysis
#>   of epidemiological results. R package version 1.3.0.
#>   https://dhaine.github.io/episensr/. doi: 10.5281/zenodo.8299430.
#> 
#> A BibTeX entry for LaTeX users is
#> 
#>   @Misc{,
#>     title = {The episensr package: basic sensitivity analysis of epidemiological results},
#>     author = {Denis Haine},
#>     year = {2023},
#>     note = {R package version 1.3.0},
#>     doi = {10.5281/zenodo.8299430},
#>     url = {https://dhaine.github.io/episensr/},
#>   }

Example

We will use a case-control study by Stang et al. on the relation between mobile phone use and uveal melanoma. The observed odds ratio for the association between regular mobile phone use vs. no mobile phone use with uveal melanoma incidence is 0.71 [95% CI 0.51-0.97]. But there was a substantial difference in participation rates between cases and controls (94% vs 55%, respectively) and so selection bias could have an impact on the association estimate. The 2X2 table for this study is the following:

regular useno use
cases136107
controls297165

We use the function selection as shown below.

library(episensr)
#> Loading required package: ggplot2
#> Thank you for using episensr!
#> This is version 1.3.0 of episensr
#> Type 'citation("episensr")' for citing this R package in publications.

selection(matrix(c(136, 107, 297, 165),
                 dimnames = list(c("UM+", "UM-"), c("Mobile+", "Mobile-")),
                 nrow = 2, byrow = TRUE),
          bias_parms = c(.94, .85, .64, .25))
#> --Observed data-- 
#>          Outcome: UM+ 
#>        Comparing: Mobile+ vs. Mobile- 
#> 
#>     Mobile+ Mobile-
#> UM+     136     107
#> UM-     297     165
#> 
#>                                        2.5%     97.5%
#> Observed Relative Risk: 0.7984287 0.6518303 0.9779975
#>    Observed Odds Ratio: 0.7061267 0.5143958 0.9693215
#> ---
#>                                                 
#> Selection Bias Corrected Relative Risk: 1.483780
#>    Selection Bias Corrected Odds Ratio: 1.634608

The 2X2 table is provided as a matrix and selection probabilities given with the argument bias_parms, a vector with the 4 probabilities (guided by the participation rates in cases and controls) in the following order: among cases exposed, among cases unexposed, among noncases exposed, and among noncases unexposed. The output shows the observed 2X2 table, the observed odds ratio (and relative risk) followed by the corrected ones.

Installation

You can get the latest release from CRAN:

install.packages('episensr')

Or install the development version from GitHub with devtools package:

#install.packages("remotes")
remotes::install_github('dhaine/episensr', ref = "develop")

Copy Link

Version

Install

install.packages('episensr')

Monthly Downloads

436

Version

1.3.0

License

GPL-2

Issues

Pull Requests

Stars

Forks

Maintainer

Denis Haine

Last Published

August 30th, 2023

Functions in episensr (1.3.0)

misclassification.cov

Sensitivity analysis for covariate misclassification.
%>%

Pipe bias functions
multidimBias

Multidimensional sensitivity analysis for different sources of bias
multiple.bias

Extract adjusted 2-by-2 table from episensr object
plot.episensr.probsens

Plot(s) of probabilistic bias analyses
print.episensr.booted

Print bootstrapped confidence intervals
print.episensr

Print associations for episensr class
plot.episensr.booted

Plot of bootstrap simulation output for selection and misclassification bias
misclassification

Sensitivity analysis for disease or exposure misclassification.
plot.mbias

Plot DAGs before and after conditioning on collider (M bias)
print.mbias

Print association corrected for M bias
probsens

Probabilistic sensitivity analysis.
probsens.conf

Probabilistic sensitivity analysis for unmeasured confounding.
probsens.irr

Probabilistic sensitivity analysis for exposure misclassification of person-time data and random error.
probsens.sel

Probabilistic sensitivity analysis for selection bias.
probsens.irr.conf

Probabilistic sensitivity analysis for unmeasured confounding of person-time data and random error.
selection

Sensitivity analysis to correct for selection bias.
confounders.ext

Sensitivity analysis for unmeasured confounders based on external adjustment
episensr-package

episensr: Basic sensitivity analysis of epidemiological results
boot.bias

Bootstrap resampling for selection and misclassification bias models.
confounders

Sensitivity analysis to correct for unknown or unmeasured confounding without effect modification
confounders.array

Sensitivity analysis for unmeasured confounders based on confounding imbalance among exposed and unexposed
confounders.poly

Sensitivity analysis to correct for unknown or unmeasured polychotomous confounding without effect modification
confounders.emm

Sensitivity analysis to correct for unknown or unmeasured confounding in the presence of effect modification
confounders.evalue

Compute E-value to assess bias due to unmeasured confounder.
mbias

Sensitivity analysis to correct for selection bias caused by M bias.
confounders.limit

Bounding the bias limits of unmeasured confounding.