Which Test?

Draft: This page has not been reviewed by a statistician yet. Use it as a starting point and check important choices with a statistician.

Log-binomial regression

Estimates a prevalence ratio in a cross-sectional study or a risk ratio in a cohort or trial with fixed follow-up. Poisson with robust SE if it fails to converge.

Clinical example

In a cross-sectional survey, the prevalence of hypertension in smokers compared with non-smokers, adjusted for age, reported as a prevalence ratio instead of an odds ratio.

When to use it

  • The outcome is yes or no and common, so that an odds ratio would overstate the effect.
  • You want a prevalence ratio (cross-sectional) or a risk ratio (cohort or trial with fixed follow-up).
  • Follow-up time is the same for everyone.

Assumptions to check

Independent observations

One value per patient.

The model has to converge

Log-binomial models can fail to converge. Poisson regression with robust standard errors estimates the same kind of ratio.

What to report

  • Prevalence ratio with 95% CI
  • Risk ratio with 95% CI; also give ARR and NNT for treatment effects

Common mistakes

Reporting a logistic OR as if it were a risk ratio when prevalence exceeds about 10%; the OR then overstates the effect

Defaulting to an odds ratio when the outcome is common

Alternatives

If your situation is…Use
Case-controlLogistic regression
Follow-up time differs between patientsCox proportional hazards regression

In your software

R
# R
fit <- glm(hypertension ~ smoker + age, family = binomial(link = "log"), data = d)
exp(cbind(PR = coef(fit), confint(fit)))

# If it does not converge: Poisson with robust standard errors
library(sandwich)
library(lmtest)
fit2 <- glm(hypertension ~ smoker + age, family = poisson, data = d)
coeftest(fit2, vcov = vcovHC(fit2, type = "HC0"))
SPSS
GENLIN hypertension (REFERENCE=FIRST) WITH smoker age
  /MODEL smoker age DISTRIBUTION=BINOMIAL LINK=LOG
  /PRINT SOLUTION (EXPONENTIATE).

Sources