Sensitivity analysis for disease or exposure misclassification.
Source:R/misclassification.R
misclassification.Rd
Simple sensitivity analysis for disease or exposure misclassification. Confidence interval for odds ratio adjusted using sensitivity and specificity is computed as in Chu et al. (2006), for exposure misclassification.
Usage
misclassification(
case,
exposed,
type = c("exposure", "exposure_pv", "outcome"),
bias_parms = NULL,
alpha = 0.05
)
Arguments
- case
Outcome variable. If a variable, this variable is tabulated against.
- exposed
Exposure variable.
- type
Choice of misclassification:
exposure: bias analysis for exposure misclassification; corrections using sensitivity and specificity: nondifferential and independent errors,
exposure_pv: bias analysis for exposure misclassification; corrections using PPV/NPV: nondifferential and independent errors,
outcome: bias analysis for outcome misclassification.
- bias_parms
Vector defining the bias parameters. This vector has 4 elements between 0 and 1, in the following order:
Sensitivity of exposure (when
type = "exposure"
) or outcome (whentype = "outcome"
) classification among those with the outcome (whentype = "exposure"
) or exposure (whentype = "outcome"
),Sensitivity of exposure (or outcome) classification among those without the outcome (or exposure),
Specificity of exposure (or outcome) classification among those with the outcome (or exposure), and
Specificity of exposure (or outcome) classification among those without the outcome (or exposure).
If PPV/NPV is chosen in case of exposure misclassification, this vector is the following:
Positive predictive value among those with the outcome,
Positive predictive value among those without the outcome,
Negative predictive value among those with the outcome,
Negative predictive value among those without the outcome.
- alpha
Significance level.
Value
A list with elements:
- obs.data
The analyzed 2 x 2 table from the observed data.
- corr.data
The expected observed data given the true data assuming misclassification.
- obs.measures
A table of observed relative risk and odds ratio with confidence intervals.
- adj.measures
A table of adjusted relative risk and odds ratio with confidence interval for odds ratio.
- bias.parms
Input bias parameters.
Details
For exposure misclassification, bias-adjusted measures are available using sensitivity and specificity, or using predictive values.
References
Lash, T.L., Fox, M.P, Fink, A.K., 2009 Applying Quantitative Bias Analysis to Epidemiologic Data, pp.79--108, Springer.
Chu, H., Zhaojie, W., Cole, S.R., Greenland, S., Sensitivity analysis of misclassification: A graphical and a Bayesian approach, Annals of Epidemiology 2006;16:834-841.
Examples
# The data for this example come from:
# Fink, A.K., Lash, T.L. A null association between smoking during pregnancy
# and breast cancer using Massachusetts registry data (United States).
# Cancer Causes Control 2003;14:497-503.
misclassification(matrix(c(215, 1449, 668, 4296),
dimnames = list(c("Breast cancer+", "Breast cancer-"),
c("Smoker+", "Smoker-")),
nrow = 2, byrow = TRUE),
type = "exposure",
bias_parms = c(.78, .78, .99, .99))
#> --Observed data--
#> Outcome: Breast cancer+
#> Comparing: Smoker+ vs. Smoker-
#>
#> Smoker+ Smoker-
#> Breast cancer+ 215 1449
#> Breast cancer- 668 4296
#>
#> 2.5% 97.5%
#> Observed Relative Risk: 0.9653825 0.8523766 1.0933704
#> Observed Odds Ratio: 0.9542406 0.8092461 1.1252141
#> ---
#> 2.5% 97.5%
#> Misclassification Bias Corrected Relative Risk: 0.9614392
#> Misclassification Bias Corrected Odds Ratio: 0.9490695 0.7895687 1.1407909
misclassification(matrix(c(4558, 3428, 46305, 46085),
dimnames = list(c("AMI death+", "AMI death-"),
c("Male+", "Male-")),
nrow = 2, byrow = TRUE),
type = "outcome",
bias_parms = c(.53, .53, .99, .99))
#> --Observed data--
#> Outcome: AMI death+
#> Comparing: Male+ vs. Male-
#>
#> Male+ Male-
#> AMI death+ 4558 3428
#> AMI death- 46305 46085
#>
#> 2.5% 97.5%
#> Observed Relative Risk: 1.294347 1.240431 1.350607
#> Observed Odds Ratio: 1.323321 1.263639 1.385822
#> ---
#>
#> Misclassification Bias Corrected Relative Risk: 1.344039
#> Misclassification Bias Corrected Odds Ratio: 1.406235
# The following example comes from Chu et al. Sensitivity analysis of
# misclassification: A graphical and a Bayesian approach.
# Annals of Epidemiology 2006;16:834-841.
misclassification(matrix(c(126, 92, 71, 224),
dimnames = list(c("Case", "Control"), c("Smoker +", "Smoker -")),
nrow = 2, byrow = TRUE),
type = "exposure",
bias_parms = c(.94, .94, .97, .97))
#> --Observed data--
#> Outcome: Case
#> Comparing: Smoker + vs. Smoker -
#>
#> Smoker + Smoker -
#> Case 126 92
#> Control 71 224
#>
#> 2.5% 97.5%
#> Observed Relative Risk: 2.196866 1.796016 2.687181
#> Observed Odds Ratio: 4.320882 2.958402 6.310846
#> ---
#> 2.5% 97.5%
#> Misclassification Bias Corrected Relative Risk: 2.377254
#> Misclassification Bias Corrected Odds Ratio: 5.024508 3.282534 7.690912
# The next example, using PPV/NPV, comes from Bodnar et al. Validity of birth
# certificate-derived maternal weight data.
# Paediatric and Perinatal Epidemiology 2014;28:203-212.
misclassification(matrix(c(599, 4978, 31175, 391851),
dimnames = list(c("Preterm", "Term"), c("Underweight", "Normal weight")),
nrow = 2, byrow = TRUE),
type = "exposure_pv",
bias_parms = c(0.65, 0.74, 1, 0.98))
#> --Observed data--
#> Outcome: Preterm
#> Comparing: Underweight vs. Normal weight
#>
#> Underweight Normal weight
#> Preterm 599 4978
#> Term 31175 391851
#>
#> 2.5% 97.5%
#> Observed Relative Risk: 1.502808 1.381743 1.634480
#> Observed Odds Ratio: 1.512469 1.388465 1.647547
#> ---
#> 2.5% 97.5%
#> Misclassification Bias Corrected Relative Risk: 0.9528156
#> Misclassification Bias Corrected Odds Ratio: 0.9522211