Sample Size, $n_B$

Power, $1-\beta$

Type I error rate, $\alpha$



X-axis

min

max


Calculate Sample Size Needed to Test Odds Ratio: Equality


This calculator is useful for tests concerning whether the odds ratio, $OR$, between two groups is different from the null value of 1. Suppose the two groups are 'A' and 'B', and we collect a sample from both groups -- i.e. we have two samples. We perform a two-sample test to determine whether the odds of the outcome in group A, $p_A(1-p_A)$, is different from the odds of the outcome in group B, $p_B(1-p_B)$, where $p_A$ and $p_B$ are the probabilities of the outcome in the two groups. The hypotheses are

$H_0:OR=1$
$H_1:OR\neq1$
.
where the ratio between the sample sizes of the two groups is
$$\kappa=\frac{n_A}{n_B}$$

and $$OR=\frac{p_A(1-p_B)}{p_B(1-p_A)}$$.

Formulas

This calculator uses the following formulas to compute sample size and power, respectively: $$ n_A=\kappa n_B \;\text{ and }\; n_B=\left(\frac{1}{\kappa p_A(1-p_A)}+\frac{1}{p_B(1-p_B)}\right) \left(\frac{z_{1-\alpha/2}+z_{1-\beta}}{\ln(OR)}\right)^2$$
$$1-\beta= \Phi\left(z-z_{1-\alpha/2}\right)+\Phi\left(-z-z_{1-\alpha/2}\right) \quad ,\quad z=\frac{\ln(OR)\sqrt{n_B}}{\sqrt{\frac{1}{\kappa p_A(1-p_A)}+\frac{1}{p_B(1-p_B)}}}$$
where $$OR=\frac{p_A(1-p_B)}{p_B(1-p_A)}$$ and
where

R Code

R code to implement these functions:

pA=0.40
pB=0.25
kappa=1
alpha=0.05
beta=0.20
(OR=pA*(1-pB)/pB/(1-pA)) # 2
(nB=(1/(kappa*pA*(1-pA))+1/(pB*(1-pB)))*((qnorm(1-alpha/2)+qnorm(1-beta))/log(OR))^2)
ceiling(nB) # 156
z=log(OR)*sqrt(nB)/sqrt(1/(kappa*pA*(1-pA))+1/(pB*(1-pB)))
(Power=pnorm(z-qnorm(1-alpha/2))+pnorm(-z-qnorm(1-alpha/2)))

References

Chow S, Shao J, Wang H. 2008. Sample Size Calculations in Clinical Research. 2nd Ed. Chapman & Hall/CRC Biostatistics Series. page 106.