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).
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
#>