Skip to contents

Survival times, in days, of 50 female black ducks captured and fitted with radios (Collett, 2023, Appendix B.3).

Usage

ducks

Format

A data frame with 50 rows and 6 variables:

duck

Duck number (1-50).

time

Survival time in days.

status

Event indicator: 1 = dead, 0 = alive or missing.

age

Age group: 0 = hatch-year bird, 1 = bird aged at least one year.

weight

Body weight in g.

length

Wing length in mm.

Source

Collett, D. (2023) Modelling Survival Data in Medical Research, 4th ed. Chapman & Hall/CRC, Appendix B.3 (Table B.3). Data from Hand et al. (1994); the study was conducted by the US Fish and Wildlife Service.

Details

Fifty female ducks from two locations in New Jersey were captured between 8 November and 14 December 1983 and their status was recorded daily until the study ended on 15 February 1984; there are 18 deaths. The data are included in Hand et al. (1994).

The appendix suggests a proportional hazards model for age, weight and length, a test of whether the coefficients of weight and length differ between age groups, and an assessment of whether non-linear functions of weight and length are needed.

Aliases

This data set is not used in a numbered example, so it has no dX.Y alias. See dataset_by_exercise for the complete index.

Examples

# Collett (2023), Appendix B.3 (no numbered example) ------------------
# Chapter 17 style: proportional hazards model for age, weight and length
survival::coxph(
  survival::Surv(time, status) ~ age + weight + length,
  data = ducks
)
#> Call:
#> survival::coxph(formula = survival::Surv(time, status) ~ age + 
#>     weight + length, data = ducks)
#> 
#>             coef exp(coef)  se(coef)      z     p
#> age     0.463263  1.589251  0.578130  0.801 0.423
#> weight -0.004197  0.995812  0.002892 -1.451 0.147
#> length  0.012487  1.012566  0.040875  0.306 0.760
#> 
#> Likelihood ratio test=2.2  on 3 df, p=0.5324
#> n= 50, number of events= 18 

# Modern tools --------------------------------------------------------
if (requireNamespace("broom", quietly = TRUE)) {
  broom::tidy(
    survival::coxph(survival::Surv(time, status) ~ age + weight + length, data = ducks),
    exponentiate = TRUE, conf.int = TRUE
  )
}
#> # A tibble: 3 × 7
#>   term   estimate std.error statistic p.value conf.low conf.high
#>   <chr>     <dbl>     <dbl>     <dbl>   <dbl>    <dbl>     <dbl>
#> 1 age       1.59    0.578       0.801   0.423    0.512      4.94
#> 2 weight    0.996   0.00289    -1.45    0.147    0.990      1.00
#> 3 length    1.01    0.0409      0.306   0.760    0.935      1.10