rsadd: Fit an Additive model for Relative Survival

rsaddR Documentation

Fit an Additive model for Relative Survival


The function fits an additive model to the data. The methods implemented are the maximum likelihood method, the semiparametric method, a glm model with a binomial error and a glm model with a poisson error.


rsadd(formula, data=parent.frame(), ratetable = relsurv::slopop,
      int, na.action, method, init,bwin,centered,cause,control,rmap,...)



a formula object, with the response as a Surv object on the left of a ~ operator, and, if desired, terms separated by the + operator on the right. Surv(start,stop,event) outcomes are also possible for time-dependent covariates and left-truncation for method='EM'.

NOTE: The follow-up time must be in days.


a data.frame in which to interpret the variables named in the formula.


a table of event rates, organized as a ratetable object, such as slopop.


either a single value denoting the number of follow-up years or a vector specifying the intervals (in years) in which the hazard is constant (the times that are bigger than max(int) are censored. If missing, only one interval (from time 0 to maximum observation time) is assumed. The EM method does not need the intervals, only the maximum time can be specified (all times are censored after this time point).


a missing-data filter function, applied to the model.frame, after any subset argument has been used. Default is options()$na.action.


glm.bin or glm.poi for a glm model, EM for the EM algorithm and max.lik for the maximum likelihood model (default).


vector of initial values of the iteration. Default initial value is zero for all variables.


controls the bandwidth used for smoothing in the EM algorithm. The follow-up time is divided into quartiles and bwin specifies a factor by which the maximum between events time length on each interval is multiplied. The default bwin=-1 lets the function find an appropriate value. If bwin=0, no smoothing is applied.


if TRUE, all the variables are centered before fitting and the baseline excess hazard is calculated accordingly. Default is FALSE.


A vector of the same length as the number of cases. 0 for population deaths, 1 for disease specific deaths, 2 (default) for unknown. Can only be used with the EM method.


a list of parameters for controlling the fitting process. See the documentation for glm.control for details.


an optional list to be used if the variables are not organized and named in the same way as in the ratetable object. See details below.


other arguments will be passed to glm.control.


NOTE: The follow-up time must be specified in days. The ratetable being used may have different variable names and formats than the user's data set, this is dealt with by the rmap argument. For example, if age is in years in the data set but in days in the ratetable object, age=age*365.241 should be used. The calendar year can be in any date format (date, Date and POSIXt are allowed), the date formats in the ratetable and in the data may differ.

The maximum likelihood method and both glm methods assume a fully parametric model with a piecewise constant baseline excess hazard function. The intervals on which the baseline is assumed constant should be passed via argument int. The EM method is semiparametric, i.e. no assumptions are made for the baseline hazard and therefore no intervals need to be specified.

The methods using glm are methods for grouped data. The groups are formed according to the covariate values. This should be taken into account when fitting a model. The glm method returns life tables for groups specified by the covariates in groups.

The EM method output includes the smoothed baseline excess hazard lambda0, the cumulative baseline excess hazard Lambda0 and times at which they are estimated. The individual probabilites of dying due to the excess risk are returned as Nie. The EM method fitting procedure requires some local smoothing of the baseline excess hazard. The default bwin=-1 value lets the function find an appropriate value for the smoothing band width. While this ensures an unbiased estimate, the procedure time is much longer. As the value found by the function is independent of the covariates in the model, the value can be read from the output (bwinfac) and used for refitting different models to the same data to save time.


An object of class rsadd. In the case of method="glm.bin" and method="glm.poi" the class also inherits from glm which inherits from the class lm. Objects of this class have methods for the functions print and summary. An object of class rsadd is a list containing at least the following components:


the data as used in the model, along with the variables defined in the rate table


the ratetable used.


the maximum time (in years) used. All the events at and after this value are censored.


the fitting method that was used.


the vector of linear predictors, one per subject.


Package. Pohar M., Stare J. (2006) "Relative survival analysis in R." Computer Methods and Programs in Biomedicine, 81: 272–278

Relative survival: Pohar, M., Stare, J. (2007) "Making relative survival analysis relatively easy." Computers in biology and medicine, 37: 1741–1749.

EM algorithm: Pohar Perme M., Henderson R., Stare, J. (2009) "An approach to estimation in relative survival regression." Biostatistics, 10: 136–146.

See Also

rstrans, rsmul


#fit an additive model
#note that the variable year is given in days since 01.01.1960 and that
#age must be multiplied by 365.241 in order to be expressed in days.
fit <- rsadd(Surv(time,cens)~sex+as.factor(agegr)+ratetable(age=age*365.241),

#check the goodness of fit

#use the EM method and plot the smoothed baseline excess hazard
fit <- rsadd(Surv(time,cens)~sex+age,rmap=list(age=age*365.241),
sm <- epa(fit)

relsurv documentation built on Dec. 28, 2022, 2:25 a.m.

Related to rsadd in relsurv...