minipool: Number of Assays Needed using Mini-Pooling

Description Usage Arguments Details Value References See Also Examples

View source: R/pooling-basic-funs.R

Description

Function minipool(...) calculates the number of assays required, when using mini-pooling, for pools that are formed following the order that individual samples appear in the data.

Usage

1
minipool(v, K = 5, vf_cut = 1000, lod = 0, msg = T)

Arguments

v

A vector of non-negative numerical assay results.

K

Pool size; default is K = 5.

vf_cut

Cutoff value for defining positive cases; default is vf_cut = 1000.

lod

A vector of lower limits of detection or a scalar if the limits are the same; default is lod = 0.

msg

Message generated during calculation; default is TRUE.

Details

Suppose that N samples are collected for pooled testing. The first K samples are combined to form a pool, the next K samples are combined to form the second pool, and so on. If the number of samples for the last pool is less than K, these remaining samples are not used to form a pool (i.e. not included in the calculation). Therefore, a total of N%/%K pools are formed. The function calculates the number of assays needed for each of these pools. For mini-pooling, if a pool is negative, no further tests are needed and all samples in the pool are concluded as being negative; so the total number of assays required is one. Otherwise if the pool is tested positive, all individual samples in the pool are tested and the total number of assays required is (K + 1).

Value

A vectorof length N%/%K for the numbers of assays needed for all pools that are formed.

References

Dorfman R. The detection of defective members of large populations. The Annals of Mathematical Statistics. 1943;14(4):436-440.

Liu T, Hogan JW, Daniels, MJ, Coetzer M, Xu Y, Bove G, et al. Improved HIV-1 Viral Load Monitoring Capacity Using Pooled Testing with Marker-Assisted Deconvolution. Journal of AIDS. 2017;75(5): 580-587.

See Also

mpa, mmpa, pooling_mc

Examples

1
2
3
4
5
6
7
8
9
K=5; n = 50;
n.pool  = n/K; n.pool
#  [1] 10
set.seed(100)
pvl = rgamma(n, shape = 2.8, scale = 150)
minipool(pvl)
#  A total of 10 pools are formed.
#  The numbers of assays required by these pools are:
#  [1] 6 6 6 6 6 6 6 6 6 6

mMPA documentation built on May 1, 2019, 6:33 p.m.