Computes the predicted survivor function for a Cox proportional hazards model with elastic net penalty from a cross-validated glmnet model.

# S3 method for cv.glmnet
survfit(formula, s = c("lambda.1se", "lambda.min"), ...)

Arguments

formula

A class cv.glmnet object. The object should have been fit with family = "cox".

s

Value(s) of the penalty parameter lambda at which predictions are required. Default is the value s="lambda.1se" stored on the CV object. Alternatively s="lambda.min" can be used. If s is numeric, it is taken as the value(s) of lambda to be used.

...

Other arguments to be passed to survfit.coxnet.

Value

If s is a single value, an object of class "survfitcox" and "survfit" containing one or more survival curves. Otherwise, a list of such objects, one element for each value in s. Methods defined for survfit objects are print, summary and plot.

Details

This function makes it easier to use the results of cross-validation to compute a survival curve.

Examples

set.seed(2)
nobs <- 100; nvars <- 15
xvec <- rnorm(nobs * nvars)
x <- matrix(xvec, nrow = nobs)
beta <- rnorm(nvars / 3)
fx <- x[, seq(nvars / 3)] %*% beta / 3
ty <- rexp(nobs, exp(fx))
tcens <- rbinom(n = nobs, prob = 0.3, size = 1)
y <- survival::Surv(ty, tcens)
cvfit <- cv.glmnet(x, y, family = "cox")
# default: s = "lambda.1se"
survival::survfit(cvfit, x = x, y = y)
#> Call: survfit.cv.glmnet(formula = cvfit, x = x, y = y)
#> 
#>        n events median
#> [1,] 100     25   3.53

# s = "lambda.min"
survival::survfit(cvfit, s = "lambda.min", x = x, y = y)
#> Call: survfit.cv.glmnet(formula = cvfit, s = "lambda.min", x = x, y = y)
#> 
#>        n events median
#> [1,] 100     25   3.53