Compute sample size, power, or minimum detectable effect (MDE) for a
two-sample test of proportions. Leave exactly one of n, power, or
p2 as NULL to solve for that quantity.
Usage
power_prop(
p1,
p2 = NULL,
n = NULL,
power = 0.8,
alpha = 0.05,
N = Inf,
deff = 1,
resp_rate = 1,
sides = 2,
overlap = 0,
rho = 0
)Arguments
- p1
Baseline proportion, in (0, 1).
- p2
Alternative proportion, in (0, 1). Leave
NULLto solve for MDE.- 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.
effectDifference in proportions (
abs(p2 - p1)).solvedWhich quantity was solved for (
"n","power", or"mde").paramsList of input parameters.
Details
The effective variance for the difference in proportions is:
$$V = p_1(1-p_1) + p_2(1-p_2) - 2 \cdot \text{overlap} \cdot \rho \sqrt{p_1(1-p_1) \cdot p_2(1-p_2)}$$
The panel overlap term reduces the variance when the same units are observed at both occasions, following the approach in 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})\). For two-sided tests both tails are included.
Solve MDE:
unirootsearch for thep2closest top1that achieves the target power. Both directions (p2 > p1andp2 < p1) are searched; the closer alternative is returned.
References
Cochran, W. G. (1977). Sampling Techniques (3rd ed.). Wiley.
Kish, L. (1965). Survey Sampling. Wiley.
See also
power_mean() for continuous outcomes, n_prop() for
estimation precision.
Examples
# Sample size to detect a 5pp change from 30%
power_prop(p1 = 0.30, p2 = 0.35)
#> Power analysis for proportions (solved for sample size)
#> n = 1374 (per group), power = 0.800, effect = 0.0500
#> (p1 = 0.300, p2 = 0.350, alpha = 0.05)
# Power given n = 500
power_prop(p1 = 0.30, p2 = 0.35, n = 500, power = NULL)
#> Power analysis for proportions (solved for power)
#> n = 500 (per group), power = 0.394, effect = 0.0500
#> (p1 = 0.300, p2 = 0.350, alpha = 0.05)
# MDE with n = 1000 (searches both directions, returns closest p2)
power_prop(p1 = 0.30, n = 1000)
#> Power analysis for proportions (solved for minimum detectable effect)
#> n = 1000 (per group), power = 0.800, effect = 0.0557
#> (p1 = 0.300, p2 = 0.244, alpha = 0.05)
# MDE near boundary (downward alternative found automatically)
power_prop(p1 = 0.999, n = 100)
#> Power analysis for proportions (solved for minimum detectable effect)
#> n = 100 (per group), power = 0.800, effect = 0.0746
#> (p1 = 0.999, p2 = 0.924, alpha = 0.05)
# With design effect
power_prop(p1 = 0.30, p2 = 0.35, deff = 1.5)
#> Power analysis for proportions (solved for sample size)
#> n = 2061 (per group), power = 0.800, effect = 0.0500
#> (p1 = 0.300, p2 = 0.350, alpha = 0.05, deff = 1.50)
# Panel survey with 50% overlap
power_prop(p1 = 0.30, p2 = 0.35, overlap = 0.5, rho = 0.6)
#> Power analysis for proportions (solved for sample size)
#> n = 962 (per group), power = 0.800, effect = 0.0500
#> (p1 = 0.300, p2 = 0.350, alpha = 0.05, overlap = 0.50, rho = 0.60)