Compute sample size, power, or minimum detectable effect (MDE) for a
two-sample test of means. Leave exactly one of n, power, or effect
as NULL to solve for that quantity.
Usage
power_mean(
effect = NULL,
var,
n = NULL,
power = 0.8,
alpha = 0.05,
N = Inf,
deff = 1,
resp_rate = 1,
sides = 2,
overlap = 0,
rho = 0
)Arguments
- effect
Absolute difference in means (effect-size magnitude, positive). Leave
NULLto solve for MDE.- var
Within-group variance (required).
- n
Per-group sample size. Leave
NULLto solve for sample size.- power
Target power, in (0, 1). Leave
NULLto solve for power.- alpha
Significance level, default 0.05.
- N
Per-group population size.
Inf(default) means no finite population correction.- deff
Design effect multiplier (> 0). Values < 1 are valid for efficient designs (e.g., stratified sampling with Neyman allocation).
- resp_rate
Expected response rate, in (0, 1]. Default 1 (no adjustment). The sample size is inflated by
1 / resp_rate.- sides
1for one-sided or2(default) for two-sided test.- overlap
Panel overlap fraction in [0, 1], for repeated surveys.
- rho
Correlation between occasions in [0, 1].
Value
A svyplan_power object with components:
nPer-group sample size.
powerAchieved power.
effectEffect size (difference in means).
solvedWhich quantity was solved for (
"n","power", or"mde").paramsList of input parameters.
Details
The effective variance for the difference in means is:
$$V = 2 \cdot \text{var} \cdot (1 - \text{overlap} \cdot \rho)$$
The factor of 2 accounts for the two independent groups, reduced by the panel overlap term (Kish, 1965, Ch. 11).
Solve n: \(n_0 = (z_{\alpha/s} + z_\beta)^2 \cdot V \cdot \text{deff} / \delta^2\), then finite population correction.
Solve power: Compute SE, then \(\text{power} = \Phi(\delta / \text{SE} - z_{\alpha/s})\).
Solve MDE: Analytical formula, \(\delta = (z_{\alpha/s} + z_\beta) \sqrt{V \cdot \text{deff} \cdot (1-f) / n}\).
References
Cochran, W. G. (1977). Sampling Techniques (3rd ed.). Wiley.
Kish, L. (1965). Survey Sampling. Wiley.
See also
power_prop() for proportions, n_mean() for estimation
precision.
Examples
# Sample size to detect a difference of 5 with variance 100
power_mean(effect = 5, var = 100)
#> Power analysis for means (solved for sample size)
#> n = 63 (per group), power = 0.800, effect = 5.0000
#> (alpha = 0.05)
# Power given n = 200
power_mean(effect = 5, var = 100, n = 200, power = NULL)
#> Power analysis for means (solved for power)
#> n = 200 (per group), power = 0.999, effect = 5.0000
#> (alpha = 0.05)
# MDE with n = 500
power_mean(var = 100, n = 500)
#> Power analysis for means (solved for minimum detectable effect)
#> n = 500 (per group), power = 0.800, effect = 1.7719
#> (alpha = 0.05)
# With design effect
power_mean(effect = 5, var = 100, deff = 1.5)
#> Power analysis for means (solved for sample size)
#> n = 95 (per group), power = 0.800, effect = 5.0000
#> (alpha = 0.05, deff = 1.50)