Summary measures for the Thresholded Optimal Dorfman (TOD) algorithm.
TOD(p.vec, Se, Sp, max = 15, init.group.sz = NULL, threshold = NULL)
A list containing:
the vector of individual risk probabilities, as specified by the user.
the sensitivity of the diagnostic test, as specified by the user.
the specificity of the diagnostic test, as specified by the user.
the initial group size used for TOD, if applicable.
the threshold value used for TOD, if applicable.
a list specifying elements of the optimal testing configuration, which may include:
the block size/initial group size for informative Dorfman testing, which is not tested.
group sizes for the first stage of testing for informative Dorfman testing.
the expected testing expenditure to decode all individuals in the algorithm.
the variance of the testing expenditure to decode all individuals in the algorithm.
a list containing:
a matrix of accuracy measures for each individual. The rows correspond to each unique set of accuracy measures in the algorithm. Individuals with the same set of accuracy measures are displayed together in a single row of the matrix. The columns correspond to the pool index, the individual risk probability, and the pooling sensitivity, pooling specificity, pooling positive predictive value, and pooling negative predictive value for the individuals in each row of the matrix.
a matrix of overall accuracy measures for the algorithm. The columns correspond to the pooling sensitivity, pooling specificity, pooling positive predictive value, and pooling negative predictive value for the overall algorithm. Further details are given under 'Details'.
a vector of individual risk probabilities.
sensitivity of the diagnostic test.
specificity of the diagnostic test.
the maximum allowable group size. Further details are given under 'Details'.
the initial group size used for TOD, if threshold is not specified. Further details are given under 'Details'.
the threshold value for TOD. If a threshold is not specified, one is found algorithmically. Further details are given under 'Details'.
Brianna D. Hitt
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 and for the overall algorithm. Calculations of these characteristics are done using equations presented in McMahan et al. (2012).
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. The threshold can be specified using the optional threshold argument. Alternatively, the TOD algorithm can identify the optimal threshold value. The low-risk individuals are tested using an optimal common pool size, and the high-risk individuals are tested individually. If desired, the user can add the constraint of a maximum allowable group size (max), so that each group will contain no more than the maximum allowable number of individuals.
The displayed overall pooling sensitivity, pooling specificity, pooling positive predictive value, and pooling negative predictive value are weighted averages of the corresponding individual accuracy measures for all individuals within the initial group (or block) for a hierarchical algorithm, or within the entire array for an array-based algorithm. Expressions for these averages are provided in the Supplementary Material for Hitt et al. (2019). These expressions are based on accuracy definitions given by Altman and Bland (1994a, 1994b).
Altman1994abinGroup2
Altman1994bbinGroup2
Hitt2019binGroup2
McMahan2012abinGroup2
expectOrderBeta
for generating a vector of individual risk
probabilities.
Other operating characteristic functions:
GroupMembershipMatrix()
,
Sterrett()
,
halving()
,
operatingCharacteristics1()
,
operatingCharacteristics2()
# Example 1: Find the characteristics of an informative
# Dorfman algorithm, using the TOD procedure.
set.seed(1002)
p.vec <- expectOrderBeta(p = 0.01, alpha = 2, size = 20)
TOD(p = p.vec, Se = 0.95, Sp = 0.95, max = 5,
threshold = 0.015)
# Example 2: Find the threshold value for the TOD
# procedure algorithmically. Then, find
# characteristics of the algorithm.
TOD(p = p.vec, Se = 0.95, Sp = 0.95, max = 5,
init.group.sz = 10)
Run the code above in your browser using DataLab