Cross Validated is a question and answer site for people interested in statistics, machine learning, data analysis, data mining, and data visualization. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I want to compare to incidence rate's between two groups (one without a disease and one with).

I was planning to calculate the incidence rate ratio (IRR), i.e. incidence rate group B/ incidence rate group A, and then test if this rate equals to 1, and finally calculate 95% CI intervals for the IRR.

I found a method for calculation the 95% CI in a book (Rosner's Fundamentals of Biostatistics):

$$\exp\left[\log(\text{IRR}) \pm 1.96\sqrt{(1/a_1)+(1/a_2)}\right]$$

where $a_1$ and $a_2$ are the number of events. But this approximation is only valid for large enough sample sizes and i think the numer of event I have is to small (maybe for the total comparison it's okay.)

So I think I should use another method.

Im using R and the exactci package and found that I could maybe use poisson.test(). But this function has 3 methods for defining the two sided p-values: central, minlike and blaker.

So my questions are:

  1. Is it correct that to compare two incidence rate ratios im using a test for comparing poisson rates?

  2. When in use the poisson.test function in R from the exactci package what method is best?

The vignette for exactci says:

central: is 2 times the minimum of the one-sided p-values bounded above by 1. The name 'central' is motivated by the associated inversion con dence intervals which are central intervals, i.e., they guarantee that the true parameter has less than $\alpha/2$ probability of being less (more) than the lower (upper) tail of the 100(1-$\alpha$)% confidence interval. This is called the TST (twice the smaller tail method) by Hirji (2006).

minlike: is the sum of probabilities of outcomes with likelihoods less than or equal to the observed likelihood. This is called the PB (probability based) method by Hirji (2006).

blaker: combines the probability of the smaller observed tail with the smallest probability of the opposite tail that does not exceed that observed tail probability. The name 'blaker' is motivated by Blaker (2000) which comprehensively studies the associated method for con dence intervals. This is called the CT (combined tail) method by Hirji (2006).

My data is:

Group A: 
Age group 1: 3 cases    in 10459 person yrs.   Incidence rate: 0.29 
Age group 2: 7 cases    in 2279 person yrs.    Incidence rate: 3.07
Age group 3: 4 cases    in 1990 person yrs.    Incidence rate: 2.01
Age group 4: 9 cases    in 1618 person yrs.    Incidence rate: 5.56
Age group 5: 11 cases   in 1357 person yrs.    Incidence rate: 8.11
Age group 6: 11 cases   in 1090 person yrs.    Incidence rate: 10.09
Age group 7: 9 cases    in 819 person yrs.     Incidence rate: 10.99
  Total:    54 cases in 19612 person yrs.      Incidence rate: 2.75

Group B: 
Age group 1: 3 cases    in 3088 person yrs.   Incidence rate: 0.97 
Age group 2: 1 cases    in 707 person yrs.    Incidence rate: 1.41
Age group 3: 2 cases    in 630 person yrs.    Incidence rate: 3.17
Age group 4: 6 cases    in 441 person yrs.    Incidence rate: 13.59
Age group 5: 10 cases   in 365 person yrs.    Incidence rate: 27.4
Age group 6: 6 cases   in 249 person yrs.    Incidence rate: 24.06
Age group 7: 0 cases    in 116 person yrs.     Incidence rate: 0
  Total:    28 cases in 5597 person yrs.      Incidence rate: 5.0
share|improve this question

A couple thoughts:

First, your suggested comparison - the incident rate ratio between A and B - currently isn't conditioned on any covariates. Which means your number of events is 54 for Group A and 28 for Group B. That's more than enough to go with the usual large sample based Confidence Interval Methods.

Second, even if you are intending to adjust for the effect of age, rather than computing the ratio for each group, you might be better served by using a regression approach. Generally, if you're stratifying by many levels of a variable, it becomes rather cumbersome compared to a regression equation, which would give you the ratio of the rates of A and B while controlling for Age. I believe the standard approaches will still work for your sample size, though if you're worried about it, you could use something like glmperm.

share|improve this answer

The incidence rate of each group in your data is just the mean of a sum of independent Bernoulli (0/1) variables - each patient has its own variable receiving a value of 0 or 1, you sum them up and take the mean, which is the incidence rate.

I large samples (and your sample is large), the mean will be distributed normally, so you can use a simple z-test to test if the two rates are different or not.

In R, take a look at prop.test:

If you would like to make full use of the data, try to see if the distribution of incidence rates is different between group A and B. For that, a test of independence might do the trick, such as a chi-square of a G-test:

share|improve this answer

The only way to be sure the sample is large enough (or as Charlie Geyer would put it - that you actually are in asymtopia land) is to do a lot of Monte-Carlo simulation or as EpiGard suggested use something like glmperm.

As for what method is best in exactci, there is no best here - or as Fisher used to put it

Best for what?

Michael Fay provides some clarification here

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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