Learn R Programming

epiR (version 2.0.99)

epi.iref: Calculate diagnostic sensitivity and specificity using an imperfect reference test

Description

Calculate diagnostic sensitivity and specificity using an imperfect reference test.

Usage

epi.iref(x, se.rs, sp.rs, method = "staquet", ci.method = "wilson", 
   conf.level = 0.95, warn = TRUE)

Value

A list containing the following:

uncorrected

diagnostic sensitivity and specificity for the index test (and their confidence intervals), computed using the values provided in table x.

uncorrected

diagnostic sensitivity and specificity for the index test (and their confidence intervals) computed using the reference test as a quasi gold standard.

prevalence

apparent prevalence and true prevalence (and their confidence intervals) computed using the reference test as the quasi gold standard.

Arguments

x

a vector of length four, an object of class table or an object of class grouped_df from package dplyr containing the individual cell frequencies (see below).

se.rs

scalar, the known diagnostic sensitivity of the reference test. Must be a single number between 0 and 1.

sp.rs

scalar, the known diagnostic specificity of the reference test. Must be a single number between 0 and 1.

method

character string indicating the method to use. Options are brenner, gart_buck, or staquet.

ci.method

character string indicating the confidence interval calculation method to use. For method == "gart_buck" and method = "staquet" options are wilson anddelta. For method == "brenner" options are wilson and wilson.eff.

conf.level

magnitude of the confidence interval of the sensitivity and specificity estimates. Must be a single number between 0 and 1.

warn

logical. If TRUE warnings are issued in the event of input data irregularities.

Author

Mark Stevenson (Melbourne Veterinary School, Faculty of Science, The University of Melbourne, Australia).

Details

The required 2 by 2 table format for argument x for epi.iref is shown below. Columns list counts for the reference test: counts of test positive study units in column 1 and test negative study units in column 2. Rows list counts for the index test (i.e., the test under investigation): counts of test positive study units in row 1 and counts of test negative study units in row 2. The labels a, b, c and d in the table below correspond to the order of study unit counts when argument dat is a vector.

------------------------------------------------
Reference +Reference -Total
------------------------------------------------
Test +aba + b
Test -cdc + d
------------------------------------------------
Totala + cb + da + b + c + d
------------------------------------------------

References

Brenner H (1996). Correcting for exposure misclassification using an alloyed gold standard. Epidemiology 7: 406 - 410.

Gart J, Buck A (1966). Comparison of a screening test and a reference test in epidemiologic studies. II. A probabilistic model for the comparison of diagnostic tests. American Journal of Epidemiology 83: 593 - 602. DOI: 10.1093/oxfordjournals.aje.a120610.

Habibzadeh F (2023). On determining the sensitivity and specificity of a new diagnostic test through comparing its results against a non-gold-standard test. Biochemia Medica: Casopis Hrvatskoga Drustva Medicinskih Biokemicara 33, 010101. DOI: 10.11613/BM.2023.010101.

Staquet M, Rozencweig M, Lee Y, Muggia F (1981). Methodology for the assessment of new dichotomous diagnostic tests. Journal of Chronic Diseases 34, 599 - 610. DOI: 10.1016/0021-9681(81)90059-x.

Chikere C, Wilson K, Allen A, Vale L (2021). Comparative diagnostic accuracy studies with an imperfect reference standard --- a comparison of correction methods. BMC Medical Research Methodology 21: 67. DOI: 10.1186/s12874-021-01255-4.

Examples

Run this code
## EXAMPLE 1 (from Habibzadeh 2023):
## The results of a new (index) diagnostic test were compared with an existing 
## reference. Of 150 individuals that were positive to the reference test, 107
## were positive to the index test. Of 450 individuals that were negative 
## to the reference test, 104 were positive to the index test. The known 
## sensitivity of the reference test is 0.850. The known specificity of the 
## reference test is 0.900.

## What is the diagnostic sensitivity and specificity of the index test?

x <- c(107,104,43,346)
epi.iref(x = x, se.rs = 0.850, sp.rs = 0.900, method = "staquet", 
   ci.method = "wilson", conf.level = 0.95, warn = TRUE)

## Without correction (i.e., assuming the reference test) has perfect
## diagnostic sensitivity and specificity the sensitivity and specificity of 
## the index test is 0.71 (95% CI 0.63 to 0.78) and 0.77 (95% CI 0.73 to 
## 0.81), respectively.

## With correction (i.e., accounting for imperfect performance of the reference 
## test the sensitivity and specificity of the index test is 0.95 (95% CI 0.91 
## to 0.98) and 0.80 (95% CI 0.76 to 0.83), respectively. 

Run the code above in your browser using DataLab