Calculates sample size or power for a one-sample proportion test.
Arguments
- p
 Numeric. True proportion.
- p0
 Numeric. Null hypothesis proportion.
- delta
 Numeric (optional). Margin for
"non-inferiority"or"equivalence"test. Required for"non-inferiority"or"equivalence"test.- alpha
 Numeric. Type I error rate.
- beta
 Numeric (optional). Type II error rate. Required for sample size calculation.
- n
 Integer (optional). Sample size. Required for power calculation.
- test_type
 Character.
"2-side","1-side","non-inferiority", or"equivalence". Default is"2-side".
Note
Only one of beta (for sample size calculation) or n (for power calculation) should be specified.
Required arguments by test_type:
"2-side"/"1-side:For sample size:
p,p0,alpha,betaFor power:
p,p0,alpha,n
"non-inferiority"/"equivalence":For sample size:
p,p0,delta,alpha,betaFor power:
p,p0,sdA,delta,alpha,n
Examples
# Sample size for `"2-side"` test
one_prop_size(p = 0.5, p0 = 0.3,
              alpha = 0.05, beta = 0.2, test_type = "2-side")
#> [1] 50
# Power of `"2-side"` test
one_prop_size(p = 0.5, p0 = 0.3,
              alpha = 0.05, n = 50, test_type = "2-side")
#> [1] 0.8074304
# Sample size for `"1-side"` test
one_prop_size(p = 0.05, p0 = 0.02,
              alpha = 0.05, beta = 0.2, test_type = "1-side")
#> [1] 191
# Power of `"1-sided"` test
one_prop_size(p = 0.05, p0 = 0.02,
              alpha = 0.05, n = 191, test_type = "1-side")
#> [1] 0.8011562
# Sample size for `"non-inferiority"` test
one_prop_size(p = 0.5, p0 = 0.3, delta = -0.1,
              alpha = 0.05, beta = 0.2, test_type = "non-inferiority")
#> [1] 18
# Power of `"non-inferiority"` test
one_prop_size(p = 0.5, p0 = 0.3, delta = -0.1,
              alpha = 0.05, n = 18, test_type = "non-inferiority")
#> [1] 0.8161482
# Sample size for `"equivalence"` test
one_prop_size(p = 0.6, p0 = 0.6, delta = 0.2,
              alpha = 0.05, beta = 0.2, test_type = "equivalence")
#> [1] 52
# Power of `"equivalence"` test
one_prop_size(p = 0.6, p0 = 0.6, delta = 0.2,
              alpha = 0.05, n = 52, test_type = "equivalence")
#> [1] 0.8060834