Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

coxgrad

Compute gradient for Cox model


Description

Compute the gradient of the log partial likelihood at a particular fit for Cox model.

Usage

coxgrad(eta, y, w, std.weights = TRUE, diag.hessian = FALSE)

Arguments

eta

Fit vector (usually from glmnet at a particular lambda).

y

Survival response variable, must be a Surv or stratifySurv object.

w

Observation weights (default is all equal to 1).

std.weights

If TRUE (default), observation weights are standardized to sum to 1.

diag.hessian

If TRUE, compute the diagonal of the Hessian of the log partial likelihood as well. Default is FALSE.

Details

Compute a gradient vector at the fitted vector for the log partial likelihood. This is like a residual vector, and useful for manual screening of predictors for glmnet in applications where p is very large (as in GWAS). Uses the Breslow approach to ties.

This function is essentially a wrapper: it checks whether the response provided is right-censored or (start, stop] survival data, and calls the appropriate internal routine.

Value

A single gradient vector the same length as eta. If diag.hessian=TRUE, the diagonal of the Hessian is included as an attribute "diag_hessian".

See Also

coxnet.deviance

Examples

set.seed(1)
eta <- rnorm(10)
time <- runif(10, min = 1, max = 10)
d <- ifelse(rnorm(10) > 0, 1, 0)
y <- survival::Surv(time, d)
coxgrad(eta, y)

# return diagonal of Hessian as well
coxgrad(eta, y, diag.hessian = TRUE)

# example with (start, stop] data
y2 <- survival::Surv(time, time + runif(10), d)
coxgrad(eta, y2)

# example with strata
y2 <- stratifySurv(y, rep(1:2, length.out = 10))
coxgrad(eta, y2)

glmnet

Lasso and Elastic-Net Regularized Generalized Linear Models

v4.1-1
GPL-2
Authors
Jerome Friedman [aut], Trevor Hastie [aut, cre], Rob Tibshirani [aut], Balasubramanian Narasimhan [aut], Kenneth Tay [aut], Noah Simon [aut], Junyang Qian [ctb]
Initial release
2021-02-17

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.