opt.info.dorf {binGroup} | R Documentation |
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.
opt.info.dorf(prob, se = 1, sp = 1, method = "OD", max.pool = 15, thresh.pool = 8, threshold = NULL)
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'. |
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.
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. |
This function was originally written by Christopher S. McMahan for McMahan et al. (2012). The function was obtained from http://chrisbilder.com/grouptesting.
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.
http://chrisbilder.com/grouptesting
Other Informative Dorfman functions: accuracy.dorf
,
characteristics.pool
,
inf.dorf.measures
,
opt.pool.size
,
pool.specific.dorf
,
thresh.val.dorf
# 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)