Skip to contents

Times from randomisation to the development of mammary tumours for 48 female rats, treated with a retinoid or a control, in recurrent-event form (Collett, 2023, Example 13.2).

Usage

rats

Format

A data frame with 254 rows and 4 variables:

rat

Rat number (1-48).

treatment

Treatment: 0 = control, 1 = retinoid prophylaxis.

time

Time from randomisation to a detected tumour, in days, or to censoring.

status

Event indicator: 1 = tumour detected, 0 = right-censored.

Source

Collett, D. (2023) Modelling Survival Data in Medical Research, 4th ed. Chapman & Hall/CRC, Example 13.2 (Table 13.2). Data from Gail, Santner and Brown (1980).

Details

All rats were injected with a carcinogen and the 48 rats that were tumour free after 60 days were randomised to retinoid or control. Rats were examined twice weekly and the observation period ended 122 days after randomisation. Because several tumours could be found at the same assessment, tied times have been broken by adding 0.1 and 0.2 days, so time is not always a whole number. There are 23 treated and 25 control rats, 212 detected tumours in total, and only two rats never developed a tumour.

The data are used for multiple-event and event-history models: the Andersen-Gill, PWP and WLW models, with the data expanded into counting process format (Example 13.2; see also cirrhosis_cp for a simpler counting process illustration).

Aliases

The data set is available under the alias d13.2; dX.Y is the alias for the data set used in Example X.Y of Collett (2023). See dataset_by_exercise for the complete index.

Examples

# Collett (2023), Chapter 17 style -----------------------------------
# Example 13.2: recurrent tumours; Andersen-Gill model with robust SEs
# The start of each interval is the previous tumour time for that rat.
rats <- rats[order(rats$rat, rats$time), ]
rats$start <- unlist(lapply(split(rats$time, rats$rat), function(t) c(0, t[-length(t)])))
survival::coxph(
  survival::Surv(start, time, status) ~ treatment + cluster(rat),
  data = rats
)
#> Call:
#> survival::coxph(formula = survival::Surv(start, time, status) ~ 
#>     treatment, data = rats, cluster = rat)
#> 
#>              coef exp(coef) se(coef) robust se      z        p
#> treatment -0.8492    0.4277   0.1520    0.2108 -4.028 5.62e-05
#> 
#> Likelihood ratio test=34.31  on 1 df, p=4.689e-09
#> n= 254, number of events= 212 

# Modern tools --------------------------------------------------------
# The Prentice-Williams-Peterson model stratifies by the number of prior events
rats$event_number <- unlist(lapply(split(rats$rat, rats$rat), seq_along))
survival::coxph(
  survival::Surv(start, time, status) ~ treatment + strata(event_number),
  data = rats
)
#> Call:
#> survival::coxph(formula = survival::Surv(start, time, status) ~ 
#>     treatment + strata(event_number), data = rats)
#> 
#>              coef exp(coef) se(coef)      z       p
#> treatment -0.5667    0.5674   0.1724 -3.288 0.00101
#> 
#> Likelihood ratio test=11.19  on 1 df, p=0.0008208
#> n= 254, number of events= 212