View source: R/computeOptimalSampleSize.R
computeOptimalSampleSize | R Documentation |
Computes the optimal sample size for a survey to substantiate
freedom from disease. The optimal sample size is the smallest
sample size that produces an alpha-error less than or equal
to a prediscribed value alpha
. The population is considered
as diseased if at least one individual has a positive test result.
The sample size is computed using a bisection method.
The function either computes the sample size for a fixed population
(lookupTable == FALSE
) or a lookup table with sampling sizes
depending on the population size for individual sampling
(lookupTable == TRUE
); see Ziller et al., 2002.
computeOptimalSampleSize(nPopulation, prevalence, alpha = 0.05, sensitivity = 1, specificity = 1, lookupTable = FALSE)
nPopulation |
Integer. Population size if |
prevalence |
Numeric between 0 and 1. Design prvalence. The number of diseased
is then computed as |
alpha |
Numeric between 0 and 1. Alpha-Error (=error of the first kind, significance level) of the underlying significance test. Default value = 0.05. |
sensitivity |
Numeric between 0 and 1. Sensitivity of the diagnostic (for one-stage sampling) or herd test (for two stage sampling). Default value = 1. |
specificity |
Numeric between 0 and 1. Specificity of the diagnostic (for one-stage sampling) or herd test (for two stage sampling). Default value = 1. |
lookupTable |
Logical. TRUE if a lookup table of sample sizes for individual sampling (see, Ziller et al., 2002) should be produced. FALSE if the sample size is desired for a fixed population size (default). |
The return value is either an integer, the minimal sample size that produces
the desired alpha-error if lookupTable == FALSE
or a matrix with
columns N_lower
, N_upper
, sampleSize
containing
the sample sizes for the different herd sizes N
.
E.g., N_lower = 17
, N_upper = 21
, sampleSize = 11
means
that for holdings with 17-21 animals 11 animals need to be tested in order
to achieve the desired accuracy (=herd sensitivity).
Ian Kopacka <ian.kopacka@ages.at>
A.R. Cameron and F.C. Baldock, "A new probablility formula to substantiate freedom from disease", Prev. Vet. Med. 34 (1998), pp. 1-17.
M. Ziller, T. Selhorst, J. Teuffert, M. Kramer and H. Schlueter, "Analysis of sampling strategies to substantiate freedom from disease in large areas", Prev. Vet. Med. 52 (2002), pp. 333-343.
computePValue
## Compute the number of herds to be tested for limited sampling ## with sampleSizeLtd = 7: ################################################################# data(sheepData) ## Compute the average herd sensitivity: alphaList <- computeAlphaLimitedSampling(stockSizeVector = sheepData$nSheep, sampleSizeLtd = 7, intraHerdPrevalence = 0.13, diagSensitivity = 0.9, diagSpecificity = 1) sensHerd <- 1 - alphaList$meanAlpha ## Number of herds to be tested: nHerds <- computeOptimalSampleSize(nPopulation = dim(sheepData)[1], prevalence = 0.002, alpha = 0.05, sensitivity = sensHerd, specificity = 1) ## Compute the number of animals to be tested for individual ## sampling: ################################################################# sampleSizeIndividual <- computeOptimalSampleSize(nPopulation = 300, prevalence = 0.2, alpha = 0.05, sensitivity = 0.97, specificity = 1, lookupTable = TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.