Skip to contents

Survival times, in months, of 44 patients with chronic active hepatitis, randomised to prednisolone or to an untreated control group (Collett, 2023, Appendix B.1).

Usage

hepatitis

Format

A data frame with 44 rows and 3 variables:

treatment

Treatment: 1 = prednisolone, 2 = control.

time

Survival time in months from admission to the trial.

status

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

Source

Collett, D. (2023) Modelling Survival Data in Medical Research, 4th ed. Chapman & Hall/CRC, Appendix B.1 (Table B.1) and Examples 15.1-15.3. Data from Kirk et al. (1980) via Pocock (1983).

Details

The data were originally reported by Kirk et al. (1980) and given in Pocock (1983); there are 27 deaths. The trial is used in Chapter 15 as the worked example for sample size calculation: with five-year survival of 0.41 under the standard treatment and 0.60 under the new treatment, the number of events required by Schoenfeld's formula is about 140, corresponding to roughly 400 patients (Examples 15.1-15.3). The appendix also suggests survival curves by treatment, the log-rank and Wilcoxon tests, Cox and Weibull models and a log-cumulative hazard plot.

Aliases

The data set is available under the aliases d15.1, d15.2, d15.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 15.1-15.3: number of events for the log-rank test
# Schoenfeld's formula, as in Equation 15.1
hr <- 0.57
alpha <- 0.05
power <- 0.8
(stats::qnorm(1 - alpha / 2) + stats::qnorm(power))^2 /
  (0.25 * log(hr)^2)
#> [1] 99.35993

# The survival times themselves are used for the exponential model
survival::survfit(survival::Surv(time, status) ~ treatment, data = hepatitis)
#> Call: survfit(formula = survival::Surv(time, status) ~ treatment, data = hepatitis)
#> 
#>              n events median 0.95LCL 0.95UCL
#> treatment=1 22     11  146.0      96      NA
#> treatment=2 22     16   40.5      29      NA

# Modern tools --------------------------------------------------------
if (requireNamespace("flexsurv", quietly = TRUE)) {
  flexsurv::flexsurvreg(
    survival::Surv(time, status) ~ treatment,
    data = hepatitis, dist = "exponential"
  )
}
#> Call:
#> flexsurv::flexsurvreg(formula = survival::Surv(time, status) ~ 
#>     treatment, data = hepatitis, dist = "exponential")
#> 
#> Estimates: 
#>            data mean  est       L95%      U95%      se        exp(est)
#> rate             NA   0.001854  0.000516  0.006665  0.001210        NA
#> treatment  1.500000   0.900850  0.133182  1.668519  0.391675  2.461696
#>            L95%      U95%    
#> rate             NA        NA
#> treatment  1.142458  5.304305
#> 
#> N = 44,  Events: 27,  Censored: 17
#> Total time at risk: 3834
#> Log-likelihood = -158.1025, df = 2
#> AIC = 320.2051
#>