Learn R Programming

survival (version 3.8-3)

survcondense: Shorten a (time1, time2) survival dataset

Description

Counting process data sets can sometimes grow to an uweildy size, this can be used to reduce the number of rows.

Usage

survcondense(formula, data, subset, weights, na.action= na.pass, id, 
             start = "tstart", end = "tstop", event = "event")

Value

a data frame

Arguments

formula

a formula object, with the response on the left of a ~ operator, and the terms on the right. The response must be a survival object as returned by the Surv function.

data

a data.frame in which to interpret the variables named in the formula and the id argument argument.

subset

optional subset expression to apply to the data set

weights

optional variable name for case weights

na.action

optional removal of missing values

id

variable name that identifies subjects

start

optional character string, giving the name of the start time variable in the result

end

optional character string, giving the name of the stop time variable in the result

event

optional character string, giving the name of the event variable in the result

Author

Terry Therneau

Details

Through the use of the survSplit and tmerge functions, a counting process data set will gain more and more rows of data. Occassionally it is useful to collapse this surplus back down, e.g., when interest is to be focused on only a few covariates, or for debugging. The right hand side of formula will often have only a few variables in this use case.

If a row of data is censored, and represents the same covariates and identifier as the row below it, then the two rows can be merged together using a single (time1, time2) interval. The compression can sometimes be large.

The start, stop and end options are only used when the left hand side of the formula has expressions that are not a simple name, e.g. Surv(time1, time2, death | progression) would be a case where event is used to set the outcome variable's name.

See Also

survSplit,tmerge

Examples

Run this code
dim(aml)
test1 <- survSplit(Surv(time, status) ~ ., data=aml, 
                   cut=c(10, 20, 30), id="newid")
dim(test1)

# remove the added rows
test2 <- survcondense(Surv(tstart, time, status) ~ x, test1, id=newid)
dim(test2)

Run the code above in your browser using DataLab