Skip to contents

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 NULL to solve for MDE.

n

Per-group sample size. Leave NULL to solve for sample size.

power

Target power, in (0, 1). Leave NULL to 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

1 for one-sided or 2 (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:

n

Per-group sample size.

power

Achieved power.

effect

Difference in proportions (abs(p2 - p1)).

solved

Which quantity was solved for ("n", "power", or "mde").

params

List 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: uniroot search for the p2 closest to p1 that achieves the target power. Both directions (p2 > p1 and p2 < 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)