splineCox: Fit Spline Based Cox Model for Right Censored Survival Data

View source: R/splineCox.R

splineCoxR Documentation

Fit Spline Based Cox Model for Right Censored Survival Data

Description

Rearrange the rignt censored survival data in a counting process style. Model the time-varying coefficient function using B-splines. The fit is done by introducing pseudo time-dependent covariates and then calling function coxph in survival package.

Usage

splineCox(formula, data, control = list())

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.

control

List of control options.

Details

The control argument is a list of components:

df:

degree of freedom for the B-splines, default 5;

knots:

interior knots point, default NULL. If NULL, the knots will be automatically choosen;

boundary:

lower and upper boundaries for the spline function, default NULL. If NULL, the minimun and maximun finite event time or censoring time will be specified.

Value

An object of S3 class splineCox representing the fit.

Note

This function is essentially a wrapper function of coxph for the expanded data set. It does not implements the algorithm disscussed in the reference paper. These authors implemented their algorithm into a tvcox package, which is more efficient for larger data set, but may not be stable compared to coxph.

References

Perperoglou, A., le Cessie, S., & van Houwelingen, H. C. (2006). A fast routine for fitting Cox models with time varying effects of the covariates. Computer Methods and Programs in Biomedicine, 81(2), 154–161.

See Also

coef.splineCox, plotCoef.

Examples

## Not run: 
## Attach the veteran data from the survival package
mydata <- survival::veteran
mydata$celltype <- relevel(mydata$celltype, ref = "large")
myformula <- Surv(time, status) ~ karno + celltype

## Fit the time-varying transformation model
fit <- splineCox(myformula, mydata, control = list(df = 5))

## Plot the time-varying coefficient function between two time points
plotCoef(subset(coef(fit), Time > 15 & Time < 175), smooth = TRUE)

## End(Not run)

wenjie2wang/dynsurv documentation built on Dec. 5, 2023, 12:49 a.m.