[R] Linear relative rate / excess relative risk models

David Winsemius dwinsemius at comcast.net
Thu Jan 9 04:32:53 CET 2014

On Jan 8, 2014, at 3:22 PM, Wollschlaeger, Daniel wrote:

> If I understand you correctly, that is exactly the approach taken by  
> Atkinson & Therneau: They get the baseline rates from published rate  
> tables from the general population, multiply them by the appropriate  
> person-time from their data to get expected counts, and use this as  
> offset.
> Unfortunately, I won't have comparable baseline rate tables. And  
> while I could fit a separate model only to the unexposed group for  
> expected counts, I'd prefer to fit both factors (lambda0 and 1+ERR)  
> simultaneously - as it is typically done in the existing literature.

If you would describe your data situation more completely (ideally  
with a reproducible example) you might get a better answer. It's also  
considered polite on this mailing list to include the email chain, so  
appending original question:


> Best, Daniel
> ________________________________________
> Von: David Winsemius [dwinsemius at comcast.net]
> Gesendet: Mittwoch, 8. Januar 2014 19:06
> An: Wollschlaeger, Daniel
> Cc: r-help at r-project.org
> Betreff: Re: [R] Linear relative rate / excess relative risk models
> I would fit a Poisson model to the dose-response data with offsets  
> for the baseline expecteds.

David Winsemius, MD
Alameda, CA, USA

My question is how I can fit linear relative rate models (= excess  
relative risk models, ERR) using R. In radiation epidemiology, ERR  
models are used to analyze dose-response relationships for event rate  
data and have the following form [1]:

lambda = lambda0(z, alpha) * (1 + ERR(x, beta))

* lambda is the event rate
* lambda0 is the baseline rate function for non-exposed persons and  
depends on covariates z with parameters alpha
* ERR is the excess relative risk function for exposed persons and  
depends on covariates x (among them dose) with parameters beta
* lambda/lambda0 = 1 + ERR is the relative rate function

Often, the covariates z are a subset of the covariates x (like sex and  
age). lambda is assumed to be log-linear in lambda0, and ERR typically  
has a linear (or lin-quadratic) dose term as well as a log-linear  
modifying term with other covariates:

lambda0 = exp(alpha0 + alpha1*z1 + alpha2*z2 + ...)
ERR = beta0*dose * exp(beta1*x1 + beta2*x2 + ...)

The data is often grouped in form of life tables with the observed  
event counts and person-years (pyr) for each cell that results from  
categorizing and cross-classifying the covariates. The counts are  
assumed to have a Poisson-distribution with mean mu = lambda*pyr, and  
the usual Poisson-likelihood is used. The interest is less in lambda0,  
but in inference on the dose coefficient beta0 and on the modifier  
coefficients beta.

In the literature, the specialized Epicure program is almost  
exclusively used. Last year, a similar question on R-sig-Epi [2] did  
not lead to a successful solution (I contacted the author). Atkinson &  
Therneau in [3] discuss excess risk models but get lambda0 separately  
from external data instead of fitting lambda0 as a log-linear term.  
Some R packages sound promising to me (eg., gnm, timereg) but I  
currently don't see how to correctly specify the model.

Any help on how to approach ERR models in R is highly appreciated!
With many thanks and best regards

More information about the R-help mailing list