opt.info.dorf {binGroup} | R Documentation |
Find the characteristics of an informative two-stage hierarchical (Dorfman) algorithm
Description
Find the characteristics of an informative two-stage hierarchical (Dorfman) decoding process using Optimal Dorfman (OD), Thresholded Optimal Dorfman (TOD), or Pool-Specific Optimal Dorfman (PSOD) algorithms.
Usage
opt.info.dorf(prob, se = 1, sp = 1, method = "OD", max.pool = 15,
thresh.pool = 8, threshold = NULL)
Arguments
prob |
a vector of all subjects' infection probabilities. |
se |
the sensitivity of the diagnostic test. |
sp |
the specificity of the diagnostic test. |
method |
character string defining the specific screening procedure for implementation of Dorfman retesting in a heterogeneous population. Options include Optimal Dorfman ("OD"), Thresholded Optimal Dorfman ("TOD"), and Pool-Specific Optimal Dorfman ("PSOD"). Further details are given under 'Details'. |
max.pool |
the maximum allowable pool size. Further details are given under 'Details'. |
thresh.pool |
the initial pool size used for TOD, if threshold is not specified. Further details are given under 'Details'. |
threshold |
the threshold value for TOD. If a threshold value is not specified, one is found algorithmically. Further details are given under 'Details'. |
Details
This function finds the characteristics of an informative two-stage hierarchical (Dorfman) decoding process. Characteristics found include the expected expenditure of the decoding process, the variance of the expenditure of the decoding process, and the pooling sensitivity, pooling specificity, pooling positive predictive value, and pooling negative predictive value for each individual. Calculations of these characteristics are done using equations presented in McMahan et al. (2012).
Optimal Dorfman (OD) is an informative Dorfman algorithm in
which the common pool size c=c_{opt}
minimizes
E(T^(c))
, the expected number of tests needed to decode
all N
individuals when pools of size c
are used.
Thresholded Optimal Dorfman (TOD) is an informative Dorfman
algorithm in which all N
individuals are partitioned
into two classes, low-risk and high-risk individuals, based
on whether their risk probability falls below or above a
particular threshold value. The threshold can be specified
using the threshold argument or the TOD algorithm can
identify the optimal threshold value. The low-risk individuals
are tested using a optimal common pool size, and high-risk
individuals are tested individually.
Pool-Specific Optimal Dorfman (PSOD) is an informative Dorfman
algorithm in which optimal sizes are determined for each pool.
A total of N
individuals are tested in pools that minimize
the expected number of tests per individual, on a pool-by-pool
basis. If desired, the user can add the constraint of a maximum
allowable pool size, so that each pool will contain no more
than the maximum allowable number of individuals.
All three informative Dorfman procedures described above require individuals to be ordered from smallest to largest probability of infection. See McMahan et al. (2012) for additional details on the implementation of informative two-stage hierarchical (Dorfman) testing algorithms.
Value
A list containing:
tv |
the threshold value used for TOD, if applicable. |
e |
the expected expenditure of the decoding process. |
v |
the variance of the expenditure of the decoding process. |
summary |
a matrix of summary measures that includes each individual's infection probability, pool (pool to which they belong), pooling sensitivity, pooling specificity, pooling positive predictive value, and pooling negative predictive value. |
Author(s)
This function was originally written by Christopher S. McMahan for McMahan et al. (2012). The function was obtained from http://chrisbilder.com/grouptesting.
References
Dorfman, R. (1943). “The Detection of Defective Members of Large Populations.” The Annals of Mathematical Statistics, 14(4), 436–440. ISSN 0003-4851, doi: 10.1214/aoms/1177731363, https://www.jstor.org/stable/2235930.
McMahan, C., Tebbs, J., Bilder, C. (2012). “Informative Dorfman Screening.” Biometrics, 68(1), 287–296. ISSN 0006341X, doi: 10.1111/j.1541-0420.2011.01644.x.
See Also
http://chrisbilder.com/grouptesting
Other Informative Dorfman functions: accuracy.dorf
,
characteristics.pool
,
inf.dorf.measures
,
opt.pool.size
,
pool.specific.dorf
,
thresh.val.dorf
Examples
# Find the characteristics of an informative
# Dorfman algorithm, using the OD procedure.
# This example takes less than 1 second to run.
# Estimated running time was calculated using a
# computer with 16 GB of RAM and one core of an
# Intel i7-6500U processor.
opt.info.dorf(prob=rbeta(1000,1,10), se=1, sp=1,
method ="OD", max.pool=15, thresh.pool=8, threshold=NULL)
# Find the characteristics of an informative
# Dorfman algorithm, using the TOD procedure.
# This example takes less than 1 second to run.
# Estimated running time was calculated using a
# computer with 16 GB of RAM and one core of an
# Intel i7-6500U processor.
set.seed(1002)
p.vec <- p.vec.func(p=0.01, alpha=2, grp.sz=20)
opt.info.dorf(prob=p.vec, se=0.95, sp=0.95,
method="TOD", max.pool=5, threshold=0.015)