Suppose I have a binomial test, with 9 successes in 12 trials, expected p=1/3. In other words, in R you might do:


Now, I'm under the impression that relative risk is an appropriate effect size measure. In this case, RR=0.75/(1/3)=2.25.

First - is this actually an appropriate effect size measure? Second - how would I put a confidence interval on this? The resources I have found for calculating RR confidence intervals (e.g., http://sphweb.bumc.bu.edu/otlt/mph-modules/bs/bs704_confidence_intervals/bs704_confidence_intervals8.html) assume that the p=1/3 came from a sample with a known n, rather than a theoretical probability.


2 Answers 2


The relative risk is $\text{RR}=p/p_0$ where $p_0=1/3$ in your example. The binomial count $X$ have distribution $\mathcal{Bin}(n,p)$ which we can write as $\mathcal{Bin}(n,p_0\cdot\text{RR})$. Then we can use a binomial regression with log link function, see Calculation of Relative Risk Confidence Interval. That gives an estimate of the RR, and we can calculate a CI by likelihood profiling. An example with your data in R:

n <- 12
x <- 9
p0 <- 1/3

mod <- glm(cbind(x, n-x) ~ offset(log(p0)), 

Call:  glm(formula = cbind(x, n - x) ~ 
offset(log(p0)), family = binomial(link = "log"))


Degrees of Freedom: 0 Total (i.e. Null);  0 
Null Deviance:      -6.661e-16 
Residual Deviance: -6.661e-16   AIC: 4.709

Waiting for profiling to be done...
   2.5 %   97.5 % 
1.416876 2.784264 

If $\theta$ is the true probability value and $\theta_0$ is your comparative value then $RR = \theta/\theta_0$ is the corresponding true relative risk (compared to your assumed comparative value). If you generate a confidence interval for $\theta$ you can easily get a corresponding confidence interval for $RR$ by applying this transformation. I recommend you use the Wilson score interval for estimating the binomial proportion (see O'Neill (2021) for details).

#Compute the 95% Wilson score interval
x     <- 9;
n     <- 12;
alpha <- 0.05
CONF  <- stat.extend::CONF.prop(alpha, 
             sample.prop = x/n, n = n);

#Alter the interval to refer to the relative risk
prob0   <- 1/3;
CONF_RR <- CONF/prob0;
attributes(CONF_RR) <- attributes(CONF)
attributes(CONF_RR)$parameter <- 
"relative risk parameter for infinite 

#View the confidence interval

        Confidence Interval (CI) 
95.00% CI for relative risk parameter for 
infinite population 
Interval uses 12 binary data points with sample 
proportion = 0.7500 

[1.4030839951993, 2.73317499481784]

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.