## EXAMPLE 1:
## You would like to confirm the absence of disease in a study area. You
## intend to use two tests: the first has a sensitivity and specificity of
## 0.90 and 0.80, respectively. The second has a sensitivity and specificity
## of 0.95 and 0.85, respectively. You need to make sure that an individual
## that returns a positive test really has disease, so the tests will be
## interpreted in series (to improve specificity).
## What is the diagnostic sensitivity and specificity of this testing
## regime?
se <- matrix(c(0.90,0.95), ncol = 1, byrow = TRUE); se
sp <- matrix(c(0.80,0.85), ncol = 1, byrow = TRUE); sp
rsu.dxtest(se = se, sp = sp, covar.pos = 0 , covar.neg = 0,
tconf.int = 0.95, method = "exact", interpretation = "series",
conf.int = 0.95, nsim = 999)
## Interpretation of these tests in series returns a diagnostic sensitivity
## of 0.855 and a diagnostic specificity of 0.970.
## EXAMPLE 2 (from Dohoo, Martin and Stryhn p 113):
## An IFAT and PCR are to be used to diagnose infectious salmon anaemia (IFA).
## Counts of IFA positive salmon that tested positive to the IFAT and PCR and
## counts of IFA negative salmon that tested positive to the IFAT and PCR are
## shown above. Calculate the sensitivity and specificity of the two tests
## and a 95% confidence interval for sensitivity and specificity of the
## two tests using the exact method.
test <- rep(c("ifat","pcr"), each = 2)
perf <- rep(c("se","sp"), times = 2)
num <- c(138,546,163,562)
den <- c(176,574,176,574)
dat.df <- data.frame(test, perf, num, den)
tmp <- epi.conf(dat = as.matrix(dat.df[,3:4]), ctype = "prevalence",
method = "exact", N = 1000, design = 1, conf.level = 0.95)
dat.df <- cbind(dat.df, tmp); dat.df
## The diagnostic sensitivity and specificity of the IFAT is 0.784
## (95% CI 0.716 to 0.842) and 0.951 (95% CI 0.930 to 0.967), respectively.
## The diagnostic sensitivity and specificity of the PCR is
## 0.926 (95% CI 0.877 to 0.960) and 0.979 (95% CI 0.964 to 0.989),
## respectively. It is known that the two tests are dependent,
## with positive and negative covariances calculated above. What is the
## expected sensitivity and specificity if the tests are to interpreted
## in parallel?
se <- matrix(c(0.784,0.716,0.842,0.926,0.877,0.960), ncol = 3,
byrow = TRUE); se
sp <- matrix(c(0.951,0.930,0.967,0.979,0.964,0.989), ncol = 3,
byrow = TRUE); sp
rsu.dxtest(se = se, sp = sp, covar.pos = 0.035, covar.neg = -0.001,
tconf.int = 0.95, method = "exact", interpretation = "parallel",
conf.int = 0.95, nsim = 999)
## Interpreting test results in parallel and accounting for the lack of
## test indepdendence returns a diagnostic sensitivity of 0.949 (95% CI 0.938
## to 0.957) and diagnostic specificity of 0.929 (95% CI 0.906 to 0.947).
## EXAMPLE 3:
## Three diagnostic tests for Brucella suis in dogs are available: the Rose
## Bengal test (RBT), complement fixation (CFT) and an c-ELISA. The diagnostic
## sensitivities of the three tests are 0.869, 0.873 and 0.897, respectively.
## The diagnostic specificities of the three tests are 0.895, 0.905, and 0.915,
## respectively.
## For disease positive groups the covariance between test results are
## as follows:
## RBT - CFT: 0.071
## RBT - c-ELISA: 0.018
## CFT - c-ELISA: 0.015
## RBT - CFT - c-ELISA: -0.001
covp012 <- 0.071
covp013 <- 0.018
covp023 <- 0.015
covp123 <- -0.001
covp <- c(covp012,covp013,covp023,covp123)
## For disease negative groups the covariance between test results are
## as follows:
## RBT - CFT: 0.076
## RBT - c-ELISA: 0.062
## CFT - c-ELISA: 0.062
## RBT - CFT - c-ELISA: 0.049
covn012 <- 0.076
covn013 <- 0.062
covn023 <- 0.062
covn123 <- 0.049
covn <- c(covn012,covn013,covn023,covn123)
## What is the expected diagnostic sensitivity and specificity if all three
## tests are run on an individual and interpreted in parallel?
se <- matrix(c(0.869,0.873,0.897), ncol = 1, byrow = TRUE); se
sp <- matrix(c(0.895,0.905,0.915), ncol = 1, byrow = TRUE); sp
rsu.dxtest(se = se, sp = sp, covar.pos = covp, covar.neg = covn,
tconf.int = 0.95, method = "exact", interpretation = "parallel",
conf.int = 0.95, nsim = 999)
## Interpreting the test results in parallel and accounting for depdendence
## between the three tests returns a diagnostic sensitivity of
## 0.991 and a diagnostic specificity of 0.873. If we didn't account for test
## dependence our estimate of diagnostic sensitivity and specificity would be
## 0.998 and 0.741, respectively.
## What is the expected sensitivity and specificity if all three
## tests are run on an individual and interpreted in series?
rsu.dxtest(se = se, sp = sp, covar.pos = covp, covar.neg = covn,
tconf.int = 0.95, method = "exact", interpretation = "series",
conf.int = 0.95, nsim = 999)
## Interpreting the test results in series and accounting for depdendence
## between the three tests returns a diagnostic sensitivity of
## 0.774 and a diagnostic specificity of 1.000.
Run the code above in your browser using DataLab