Skip to contents

Data from one of the first successful trials of adjuvant chemotherapy for colon cancer. Contains information on patient demographics, tumor characteristics, treatment, and survival. This dataset is part of the survival R package.

Usage

data(colon)

Format

A data frame with 1858 rows and 16 variables:

id

Numeric. Patient identifier.

study

Numeric. Study identifier (always 1 for this dataset).

rx

Character. Treatment regimen: "Obs" (Observation), "Lev" (Levamisole), "Lev+5FU" (Levamisole and 5-Fluorouracil).

sex

Numeric. Sex: 0=Female, 1=Male.

age

Numeric. Age in years.

obstruct

Numeric. Obstruction of colon by tumor: 0=No, 1=Yes.

perfor

Numeric. Perforation of colon: 0=No, 1=Yes.

adhere

Numeric. Adherence to nearby organs: 0=No, 1=Yes.

nodes

Numeric. Number of lymph nodes with detectable cancer.

status

Numeric. Censoring status: 0=Alive (censored), 1=Dead or Recurrence (event).

differ

Numeric. Differentiation of tumor: 1=Well, 2=Moderate, 3=Poor.

extent

Numeric. Extent of local spread: 1=Submucosa, 2=Muscle, 3=Serosa, 4=Contiguous structures.

surg

Numeric. Time from surgery to registration: 0=Short (<1 month), 1=Long (>=1 month).

node4

Numeric. More than 4 positive lymph nodes: 0=No (<=4), 1=Yes (>4).

time

Numeric. Days from registration to event (death or recurrence) or censoring.

etype

Numeric. Event type: 1=Recurrence, 2=Death.

Source

Original source: Moertel CG et al. (1990). Levamisole and fluorouracil for adjuvant therapy of resected colon carcinoma. New England Journal of Medicine, 322, 352-358. Included in the survival R package.

Examples

data(colon)
str(colon)
#> spc_tbl_ [1,858 × 16] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
#>  $ id      : num [1:1858] 1 1 2 2 3 3 4 4 5 5 ...
#>  $ study   : num [1:1858] 1 1 1 1 1 1 1 1 1 1 ...
#>  $ rx      : chr [1:1858] "Lev+5FU" "Lev+5FU" "Lev+5FU" "Lev+5FU" ...
#>  $ sex     : num [1:1858] 1 1 1 1 0 0 0 0 1 1 ...
#>  $ age     : num [1:1858] 43 43 63 63 71 71 66 66 69 69 ...
#>  $ obstruct: num [1:1858] 0 0 0 0 0 0 1 1 0 0 ...
#>  $ perfor  : num [1:1858] 0 0 0 0 0 0 0 0 0 0 ...
#>  $ adhere  : num [1:1858] 0 0 0 0 1 1 0 0 0 0 ...
#>  $ nodes   : num [1:1858] 5 5 1 1 7 7 6 6 22 22 ...
#>  $ status  : num [1:1858] 1 1 0 0 1 1 1 1 1 1 ...
#>  $ differ  : num [1:1858] 2 2 2 2 2 2 2 2 2 2 ...
#>  $ extent  : num [1:1858] 3 3 3 3 2 2 3 3 3 3 ...
#>  $ surg    : num [1:1858] 0 0 0 0 0 0 1 1 1 1 ...
#>  $ node4   : num [1:1858] 1 1 0 0 1 1 1 1 1 1 ...
#>  $ time    : num [1:1858] 1521 968 3087 3087 963 ...
#>  $ etype   : num [1:1858] 2 1 2 1 2 1 2 1 2 1 ...
#>  - attr(*, "spec")=List of 3
#>   ..$ cols   :List of 16
#>   .. ..$ id      : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ study   : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ rx      : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
#>   .. ..$ sex     : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ age     : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ obstruct: list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ perfor  : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ adhere  : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ nodes   : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ status  : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ differ  : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ extent  : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ surg    : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ node4   : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ time    : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   .. ..$ etype   : list()
#>   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
#>   ..$ default: list()
#>   .. ..- attr(*, "class")= chr [1:2] "collector_guess" "collector"
#>   ..$ skip   : num 1
#>   ..- attr(*, "class")= chr "col_spec"
head(colon)
#> # A tibble: 6 × 16
#>      id study rx        sex   age obstruct perfor adhere nodes status differ
#>   <dbl> <dbl> <chr>   <dbl> <dbl>    <dbl>  <dbl>  <dbl> <dbl>  <dbl>  <dbl>
#> 1     1     1 Lev+5FU     1    43        0      0      0     5      1      2
#> 2     1     1 Lev+5FU     1    43        0      0      0     5      1      2
#> 3     2     1 Lev+5FU     1    63        0      0      0     1      0      2
#> 4     2     1 Lev+5FU     1    63        0      0      0     1      0      2
#> 5     3     1 Obs         0    71        0      0      1     7      1      2
#> 6     3     1 Obs         0    71        0      0      1     7      1      2
#> # ℹ 5 more variables: extent <dbl>, surg <dbl>, node4 <dbl>, time <dbl>,
#> #   etype <dbl>
summary(colon$age)
#>    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
#>   18.00   53.00   61.00   59.75   69.00   85.00 
table(colon$rx, colon$status)
#>          
#>             0   1
#>   Lev     287 333
#>   Lev+5FU 366 242
#>   Obs     285 345