sample.size.for.one.proportion.test <- function(p0 = 0.8, p1 = 0.9, alpha = 0.025, beta = 0.2) { ## Purpose: Sample Size for One Proportion Test. ## H0: p <= p0 ## H1: p > p0 ## (Application: tests of sensitivity, specificity with performance goals) ## Arguments: ## p0: performance goal (minimally acceptable proportion). Default to 80%. ## p1: expected performance (minimal proportion under the alternative hypothesis). Defaul to 90%. ## alpha: type I error. Default to 0.025 (for one-sided test). ## beta: type II error (1 - power). Default to 0.2 (so power is 80%). ## Return: ## Sample Size ## Author: Feiming Chen ## Reference: Biswas, Bipasa. "Clinical performance evaluation of molecular diagnostic tests." ## The Journal of Molecular Diagnostics 18.6 (2016): 803-812. ## ________________________________________________ N = (qnorm(1 - alpha) * sqrt(p0 * (1 - p0)) + qnorm(1 - beta) * sqrt(p1 * (1 - p1)))^2 / (p1 - p0)^2 ceiling(N) } if (F) { # Unit Test sample.size.for.one.proportion.test() # 108 (PASS output: 107 under exact test; 108 under normal approx.) }
Wednesday, February 17, 2021
Sample Size for One Proportion Test
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment