R: Split a survival data set at specified times

survSplit {survival} | R Documentation

## Split a survival data set at specified times

### Description

Given a survival data set and a set of specified cut times, split each record into multiple subrecords at each cut time. The new data set will be in ‘counting process’ format, with a start time, stop time, and event status for each record.

### Usage

    survSplit(data, cut, end, event, start, id = NULL, zero = 0,
      episode=NULL)

### Arguments

`data` | data frame
`cut` | vector of timepoints to cut at
`end` | character string with name of event time variable
`event` | character string with name of censoring indicator
`start` | character string with name of start time variable (will be created if it does not exist)
`id` | character string with name of new id variable to create (optional)
`zero` | If `start` doesn't already exist, this is the time that the original records start. May be a vector or single value.
`episode` | character string with name of new episode variable (optional)

### Details

The function also works when the original data are in counting-process format, but the `id` and `episode` options are of little use in this context.

### Value

New, longer, data frame.

### See Also

`Surv`, `cut`, `reshape`

### Examples

    aml3<-survSplit(aml,cut=c(5,10,50),end="time",start="start",
          event="status",episode="i")

    summary(aml)
    summary(aml3)

    coxph(Surv(time,status)~x,data=aml)
    ## the same
    coxph(Surv(start,time,status)~x,data=aml3)

    aml4<-survSplit(aml3,cut=20,end="time",start="start", event="status")
    coxph(Surv(start,time,status)~x,data=aml4)

[Package survival version 2.37-7 Index]