Skip to contents

[Superseded]

episensr 2.0.0 introduced breaking changes in probabilistic bias analyses by (1) using the NORTA transformation to define a correlation between distributions, and (2) sampling true prevalences and then sampling the adjusted cell counts rather than just using the expected cell counts from a simple quantitative bias analysis. This updated version should be preferred and this legacy version will be deprecated in future versions. However, if you need to quickly roll back to the previous calculations, this function provides the previous interface. To make old code work as is, add the following code to the top of your script:

library(episensr)
probsens.irr <- probsens.irr_legacy

Usage

probsens.irr_legacy(
  counts,
  pt = NULL,
  reps = 1000,
  seca.parms = list(dist = c("constant", "uniform", "triangular", "trapezoidal",
    "logit-logistic", "logit-normal", "beta"), parms = NULL),
  seexp.parms = NULL,
  spca.parms = list(dist = c("constant", "uniform", "triangular", "trapezoidal",
    "logit-logistic", "logit-normal", "beta"), parms = NULL),
  spexp.parms = NULL,
  corr.se = NULL,
  corr.sp = NULL,
  discard = TRUE,
  alpha = 0.05
)

Arguments

counts

A table or matrix where first row contains disease counts and second row contains person-time at risk, and first and second columns are exposed and unexposed observations, as:

ExposedUnexposed
Casesab
Person-timeN1N0
pt

A numeric vector of person-time at risk. If provided, counts must be a numeric vector of disease counts.

reps

Number of replications to run.

seca.parms

List defining the sensitivity of exposure classification among those with the outcome. The first argument provides the probability distribution function (uniform, triangular, trapezoidal, logit-logistic, logit-normal, or beta) and the second its parameters as a vector. Logit-logistic and logit-normal distributions can be shifted by providing lower and upper bounds. Avoid providing these values if a non-shifted distribution is desired.

  1. constant: constant value,

  2. uniform: min, max,

  3. triangular: lower limit, upper limit, mode,

  4. trapezoidal: min, lower mode, upper mode, max,

  5. logit-logistic: location, scale, lower bound shift, upper bound shift,

  6. logit-normal: location, scale, lower bound shift, upper bound shift,

  7. beta: alpha, beta.

seexp.parms

List defining the sensitivity of exposure classification among those without the outcome.

spca.parms

List defining the specificity of exposure classification among those with the outcome.

spexp.parms

List defining the specificity of exposure classification among those without the outcome.

corr.se

Correlation between case and non-case sensitivities.

corr.sp

Correlation between case and non-case specificities.

discard

A logical scalar. In case of negative adjusted count, should the draws be discarded? If set to FALSE, negative counts are set to zero.

alpha

Significance level.

Value

A list with elements:

obs.data

The analyzed 2 x 2 table from the observed data.

obs.measures

A table of observed incidence rate ratio with exact confidence interval.

adj.measures

A table of corrected incidence rate ratios.

sim.df

Data frame of random parameters and computed values.

References

Lash, T.L., Fox, M.P, Fink, A.K., 2009 Applying Quantitative Bias Analysis to Epidemiologic Data, pp.117–150, Springer.

Examples

if (FALSE) { # \dontrun{
set.seed(123)
# Exposure misclassification, non-differential
probsens.irr(matrix(c(2, 67232, 58, 10539000),
dimnames = list(c("GBS+", "Person-time"), c("HPV+", "HPV-")), ncol = 2),
reps = 20000,
seca.parms = list("trapezoidal", c(.4, .45, .55, .6)),
spca.parms = list("constant", 1))
} # }