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
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 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)))
Chow S, Shao J, Wang H. 2008. Sample Size Calculations in Clinical Research. 2nd Ed. Chapman & Hall/CRC Biostatistics Series. page 106.