This package provides methods for estimation and hypothesis testing of proportions in group testing designs. It involves methods for estimating a proportion in a single population (assuming sensitivity and specificity 1 in designs with equal group sizes), as well as hypothesis tests and functions for experimental design for this situation. For estimating one proportion or the difference of proportions, a number of confidence interval methods are included, which can deal with various different pool sizes. Further, regression methods are implemented for simple pooling and matrix pooling designs.
1) One-sample case
Methods for calculating confidence intervals for a single population proportion from designs with equal group sizes (as described by Tebbs and Bilder, 2004 and Schaarschmidt, 2007) are implemented in the function
For the problem of choosing an adequate experimental design in the one-sample case with only one group size, the functions
nDesign implement different iterative approaches, as examplified by Swallow (1985) and Schaarschmidt (2007).
If a confidence interval for a single proportion shall be calculated based on a design involving groups of different group sizes, a number of methods described by Hepworth (1999) is available in the function
pooledBin. The exact method described by Hepworth (1996) is implemented in the function
2) Two-sample case
pooledBinDiff provides a number of confidence interval methods for estimating the difference of proportions from two independent samples, allowing for groups of different group size (Biggerstaff, 2008).
3) Regression models
Two approaches (by Vansteelandt et al., 2000 and Xie, 2001) to estimate parameters of group testing regression models can be applied by calling
gtreg. Once fitted, corresponding methods to extract residuals, calculate predictions and summarize the parameter estimates (including hypotheses tests) are available in the S3 methods
Group testing regression models in settings with matrix pooling (Xie, 2001) can be fit using
Boan Zhang, Christopher Bilder, Brad Biggerstaff, Frank Schaarschmidt
Maintainer: Frank Schaarschmidt <[email protected]>
Biggerstaff, B.J. (2008): Confidence interval for the difference of proportions estmimated from pooled samples. Journal of Agricultural Biological and Environmental Statistics, 13(4), 478-496.
Hepworth, G. (1996) Exact confidence intervals for proportions estimated by group testing. Biometrics 52, 1134-1146.
Hepworth, G. (1999): Estimation of proportions by group testing. PhD Dissertation. Melbourne, Australia: The University of Melbourne.
Schaarschmidt, F. (2007) Experimental design for one-sided confidence intervals or hypothesis tests in binomial group testing. Communications in Biometry and Crop Science 2 (1), 32-40. http://agrobiol.sggw.waw.pl/cbcs/
Swallow, W.H. (1985) Group testing for estimating infection rates and probabilities of disease transmission. Phytopathology 75 (8), 882-889.
Tebbs, J.M. & Bilder, C.R. (2004) Confidence interval procedures for the probability of disease transmission in multiple-vector-transfer designs. Journal of Agricultural, Biological and Environmental Statistics 9 (1), 75-90.
Vansteelandt, S., Goetghebeur, E., and Verstraeten, T. (2000) Regression models for disease prevalence with diagnostic tests on pools of serum samples, Biometrics, 56, 1126-1133.
Xie, M. (2001) Regression analysis of group testing samples, Statistics in Medicine, 20, 1957-1969.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
# 1) One-sample problem # 1.1) Confidence intervals for designs with equal group size (pool size), # where # n denotes the number of groups (pools), # s denotes the common group size (number of individuals pooled per group), # y denotes the number of groups tested positive. # The following call reproduces the example given # by Tebbs and Bilder (2004) for the two-sided 95-percent # exact (Clopper-Pearson) interval: bgtCI(n=24, y=3, s=7, conf.level=0.95, alternative="two.sided", method="CP") # 1.2) Confidence intervals for designs with unequal group size (pool size): # Keeping notation as above but allowing for (a limited number of) different # group size s, the examples given in Hepworth (1996), Table 5 can be # reproduced by calling: bgtvs(n=c(2,3), s=c(5,2), y=c(0,0)) bgtvs(n=c(2,3), s=c(5,2), y=c(0,1)) # The function pooledBin provides different methods for the same problem, # where x is the number of positive groups, m is the size of the groups and # n is the number of groups with the correesponding sizes: pooledBin(x=c(0,1), m=c(5,2), n=c(2,3), ci.method="score") pooledBin(x=c(0,1), m=c(5,2), n=c(2,3), ci.method="lrt") pooledBin(x=c(0,1), m=c(5,2), n=c(2,3), ci.method="bc-skew-score") # 1.3) For experimental design based on the bias of the point estimate, # as proposed by Swallow (1985): The values in Table 1 (Swallow, 1985), # p.885 can be reproduced by calling: estDesign(n=10, smax=100, p.tr=0.001) estDesign(n=10, smax=100, p.tr=0.01) # 2) Two-sample comparison # Assume a design, where pools 5, 1, 1, 30, and 20 pools of size 10, 4, 1, 25, 50, # respectively, are used to estimate the prevalence in two populations. # In population 1, one out of 5 pools with 10 units is positive, # while in population 2, two out of five pools with 10 units is positive as well as # the one pool with only 1 unit. # The difference of proportions is to be estimated. x1 <- c(1,0,0,0,0) m1 <- c(10,4,1,25,50) n1 <- c(5,1,1,30,20) x2 <- c(2,0,1,0,0) m2 <- c(10,4,1,25,50) n2 <- c(5,1,1,30,20) pooledBinDiff(x1=x1, m1=m1,x2=x2, m2=m2, n1=n1, n2=n2, ci.method="lrt") # 3) Regression models # 3.1) Fitting a regression model # A HIV surveillance data (used by Vansteelandt et al. 2000) # can be analysed for the dependence of HIV prevalence # on covariates AGE and EDUC., with sensitivity and specificity # assumed to be 0.9 each. data(hivsurv) fit1 <- gtreg(formula = groupres ~ AGE + EDUC., data = hivsurv, groupn = gnum, sens = 0.9, spec = 0.9, method = "Xie") summary(fit1) # 3.2) Fitting a regression model for matrix pooling data # The function sim.mp is used to simulate a matrix pooling data set: set.seed(9128) sa1a<-sim.mp(par=c(-7,0.1), n.row=c(5,4), n.col=c(6,5), sens=0.95, spec=0.95) str(sa1a) sa1<-sa1a$dframe ## Not run: fit2 <- gtreg.mp(formula = cbind(col.resp, row.resp) ~ x, data = sa1, coln = coln, rown = rown, arrayn = arrayn, sens = 0.95, spec = 0.95, n.gibbs = 2000, trace = TRUE) fit2 summary(fit2) ## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.