Skip to contents

Survival times, in days, of 26 women with ovarian cancer randomised to one of two chemotherapy regimens (Collett, 2023, Example 5.11).

Usage

ovarian

Format

A data frame with 26 rows and 7 variables:

patient

Patient number (1-26).

time

Survival time in days from randomisation.

status

Event indicator: 1 = death, 0 = right-censored.

treat

Treatment: 1 = cyclophosphamide alone (single), 2 = cyclophosphamide combined with adriamycin.

age

Age of the patient in years.

rdisease

Extent of residual disease: 1 = incomplete excision, 2 = complete excision.

perf

Performance status: 1 = good, 2 = poor.

Source

Collett, D. (2023) Modelling Survival Data in Medical Research, 4th ed. Chapman & Hall/CRC, Example 5.11 (Table 5.6). Data from Edmunson et al. (1979) via Therneau (1986).

Details

All women had minimal residual disease after surgical excision of tumours larger than 2 cm. There are 12 deaths among the 26 patients. The factors treat, rdisease and perf each have two levels and are fitted as indicator variables, so the baseline hazard does not correspond to a patient with all covariates zero (see Example 5.11).

The data are used for Weibull proportional hazards models and variable selection (Examples 5.11 and 5.12), for model checking of parametric models (Examples 7.1-7.4) and for a time-dependent covariate (Example 8.3).

Aliases

The data set is available under the aliases d5.11, d5.12, d7.1, d7.2, d7.3, d7.4, d8.3; 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 -----------------------------------
# Examples 5.11 and 5.12: Weibull proportional hazards model
fit_ovarian <- survival::survreg(
  survival::Surv(time, status) ~ treat + age,
  data = ovarian, dist = "weibull"
)
summary(fit_ovarian)
#> 
#> Call:
#> survival::survreg(formula = survival::Surv(time, status) ~ treat + 
#>     age, data = ovarian, dist = "weibull")
#>               Value Std. Error     z       p
#> (Intercept) 10.4254     1.4340  7.27 3.6e-13
#> treat        0.5615     0.3399  1.65   0.099
#> age         -0.0790     0.0198 -4.00 6.4e-05
#> Log(scale)  -0.5998     0.2353 -2.55   0.011
#> 
#> Scale= 0.549 
#> 
#> Weibull distribution
#> Loglik(model)= -88.7   Loglik(intercept only)= -98
#> 	Chisq= 18.41 on 2 degrees of freedom, p= 1e-04 
#> Number of Newton-Raphson Iterations: 6 
#> n= 26 
#> 

# Examples 7.1-7.4: residual checks for the parametric model
head(stats::residuals(fit_ovarian, type = "deviance"))
#>          1          2          3          4          5          6 
#> -1.0835328  0.5490398 -1.6344197  0.4249979 -2.1483226  1.1328399 

# Example 8.3: a time-dependent effect of treatment
survival::coxph(
  survival::Surv(time, status) ~ treat + tt(treat),
  data = ovarian,
  tt = function(x, t, ...) x * log(t)
)
#> Call:
#> survival::coxph(formula = survival::Surv(time, status) ~ treat + 
#>     tt(treat), data = ovarian, tt = function(x, t, ...) x * log(t))
#> 
#>                 coef  exp(coef)   se(coef)      z     p
#> treat     -1.611e+01  1.005e-07  1.213e+01 -1.328 0.184
#> tt(treat)  2.649e+00  1.414e+01  2.028e+00  1.306 0.192
#> 
#> Likelihood ratio test=4.52  on 2 df, p=0.1044
#> n= 26, number of events= 12 

# Modern tools --------------------------------------------------------
if (requireNamespace("flexsurv", quietly = TRUE)) {
  flexsurv::flexsurvreg(
    survival::Surv(time, status) ~ treat + age,
    data = ovarian, dist = "weibull"
  )
}
#> Call:
#> flexsurv::flexsurvreg(formula = survival::Surv(time, status) ~ 
#>     treat + age, data = ovarian, dist = "weibull")
#> 
#> Estimates: 
#>        data mean  est        L95%       U95%       se         exp(est) 
#> shape         NA   1.82e+00   1.15e+00   2.89e+00   4.29e-01         NA
#> scale         NA   3.37e+04   2.03e+03   5.60e+05   4.83e+04         NA
#> treat   1.50e+00   5.61e-01  -1.05e-01   1.23e+00   3.40e-01   1.75e+00
#> age     5.57e+01  -7.90e-02  -1.18e-01  -4.02e-02   1.98e-02   9.24e-01
#>        L95%       U95%     
#> shape         NA         NA
#> scale         NA         NA
#> treat   9.00e-01   3.41e+00
#> age     8.89e-01   9.61e-01
#> 
#> N = 26,  Events: 12,  Censored: 14
#> Total time at risk: 15588
#> Log-likelihood = -88.74979, df = 4
#> AIC = 185.4996
#>