BreslowDayTest: Breslow-Day Test for Homogeneity of the Odds Ratios

View source: R/Tests.r

BreslowDayTestR Documentation

Breslow-Day Test for Homogeneity of the Odds Ratios


Calculates the Breslow-Day test of homogeneity for a 2 x 2 x k table, in order to investigate if all k strata have the same OR. If OR is not given, the Mantel-Haenszel estimate is used.


BreslowDayTest(x, OR = NA, correct = FALSE)



a 2 x 2 x k table.


the odds ratio to be tested against. If left undefined (default) the Mantel-Haenszel estimate will be used.


If TRUE, the Breslow-Day test with Tarone's adjustment is computed, which subtracts an adjustment factor to make the resulting statistic asymptotically chi-square.


For the Breslow-Day test to be valid, the sample size should be relatively large in each stratum, and at least 80% of the expected cell counts should be greater than 5. Note that this is a stricter sample size requirement than the requirement for the Cochran-Mantel-Haenszel test for tables, in that each stratum sample size (not just the overall sample size) must be relatively large. Even when the Breslow-Day test is valid, it might not be very powerful against certain alternatives, as discussed in Breslow and Day (1980).

Alternatively, it might be better to cast the entire inference problem into the setting of a logistic regression model. Here, the underlying question of the Breslow-Day test can be answered by investigating whether an interaction term with the strata variable is necessary (e.g. using a likelihood ratio test using the anova function).


Michael Hoehle <>


Breslow, N. E., N. E. Day (1980) The Analysis of Case-Control Studies Statistical Methods in Cancer Research: Vol. 1. Lyon, France, IARC Scientific Publications.

Tarone, R.E. (1985) On heterogeneity tests based on efficient scores, Biometrika, 72, pp. 91-95.

Jones, M. P., O'Gorman, T. W., Lemka, J. H., and Woolson, R. F. (1989) A Monte Carlo Investigation of Homogeneity Tests of the Odds Ratio Under Various Sample Size Configurations Biometrics, 45, 171-181

Breslow, N. E. (1996) Statistics in Epidemiology: The Case-Control Study Journal of the American Statistical Association, 91, 14-26.

See Also



migraine <- xtabs(freq ~ .,
            cbind(expand.grid(treatment=c("active", "placebo"),
                              response =c("better", "same"),
                              gender   =c("female", "male")),
                  freq=c(16, 5, 11, 20, 12, 7, 16, 19))

# get rid of gender
tab <- xtabs(Freq ~ treatment + response, migraine)

# only the women
female <- migraine[,, 1]

# .. and the men
male <- migraine[,, 2]

BreslowDayTest(migraine, correct = TRUE)

salary <- array(
      c(38, 12, 102, 141, 12, 9, 136, 383),
      dim=c(2, 2, 2),
      dimnames=list(exposure=c("exposed", "not"),
                    disease =c("case", "control"),
                    salary  =c("<1000", ">=1000"))

# common odds ratio = 4.028269
BreslowDayTest(salary, OR = 4.02)

AndriSignorell/DescTools documentation built on Oct. 26, 2022, 10:30 a.m.