Skip to contents

Calculates sample size or power for a one-sample mean test.

Usage

one_mean_size(
  mu,
  mu0,
  delta = NULL,
  sd,
  alpha,
  beta = NULL,
  n = NULL,
  test_type = "2-side"
)

Arguments

mu

Numeric. True mean.

mu0

Numeric. Null hypothesis mean.

delta

Numeric (optional). Margin for "non-inferiority" or "equivalence" test. Required for "non-inferiority" or "equivalence" test.

sd

Numeric. Standard deviation.

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".

Value

Numeric. Returns sample size (if beta is given), or power (if n is given).

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: mu, mu0, sd, alpha, beta

    • For power: mu, mu0, sd, alpha, n

  • "non-inferiority" / "equivalence":

    • For sample size: mu, mu0, delta, sd, alpha, beta

    • For power: mu, mu0, delta, sd, alpha, n

Examples

# Sample size for `"2-side"` test
one_mean_size(mu = 2, mu0 = 1.5, sd = 1,
              alpha = 0.05, beta = 0.2, test_type = "2-side")
#> [1] 32

# Power of `"2-side"` test
one_mean_size(mu = 2, mu0 = 1.5, sd = 1,
              alpha = 0.05, n = 32, test_type = "2-side")
#> [1] 0.8074304

# Sample size for `"1-side"` test
one_mean_size(mu = 115, mu0 = 120, sd = 24,
              alpha = 0.05, beta = 0.2, test_type = "1-side")
#> [1] 143

# Power of `"1-side"` test
one_mean_size(mu = 115, mu0 = 120, sd = 24,
              alpha = 0.05, n = 143, test_type = "1-side")
#> [1] 0.8013493

# Sample size for `"non-inferiority"` test
one_mean_size(mu = 2, mu0 = 1.5, delta = -0.5, sd = 1,
              alpha = 0.05, beta = 0.2, test_type = "non-inferiority")
#> [1] 7

# Power of `"non-inferiority"` test
one_mean_size(mu = 2, mu0 = 1.5, delta = -0.5, sd = 1,
              alpha = 0.05, n = 7, test_type = "non-inferiority")
#> [1] 0.8415708

# Sample size for `"equivalence"` test
one_mean_size(mu = 2, mu0 = 2, delta = 0.05, sd = 0.1,
              alpha = 0.05, beta = 0.2, test_type = "equivalence")
#> [1] 35

# Power of `"equivalence"` test
one_mean_size(mu = 2, mu0 = 2, delta = 0.05, sd = 0.1,
              alpha = 0.05, n = 35, test_type = "equivalence")
#> [1] 0.810884