| splineCox {dynsurv} | R 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 |
data |
A data.frame in which to interpret the variables named in the
|
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. IfNULL, the knots will be automatically choosen;- boundary:
lower and upper boundaries for the spline function, default
NULL. IfNULL, 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
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)