coxgrad {glmnet} | R Documentation |
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 |
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 |
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)