coxgrad.RdCompute the gradient of the log partial likelihood at a particular fit for Cox model.
coxgrad(eta, y, w, std.weights = TRUE, diag.hessian = FALSE)Fit vector (usually from glmnet at a particular lambda).
Survival response variable, must be a Surv or
stratifySurv object.
Observation weights (default is all equal to 1).
If TRUE (default), observation weights are standardized to sum to 1.
If TRUE, compute the diagonal of the Hessian
of the log partial likelihood as well. Default is FALSE.
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".
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.
coxnet.deviance
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)
#> [1] -0.06992882 -0.01679888 0.04327001 0.03107979 0.06179160 0.05843140
#> [7] 0.08926450 -0.03192038 -0.23269137 0.06750215
# return diagonal of Hessian as well
coxgrad(eta, y, diag.hessian = TRUE)
#> [1] -0.06992882 -0.01679888 0.04327001 0.03107979 0.06179160 0.05843140
#> [7] 0.08926450 -0.03192038 -0.23269137 0.06750215
#> attr(,"diag_hessian")
#> [1] -0.060713941 -0.015383325 -0.050665386 -0.045093820 -0.032789674
#> [6] -0.037886260 -0.009582991 -0.091840192 -0.130659065 -0.029475710
# example with (start, stop] data
y2 <- survival::Surv(time, time + runif(10), d)
coxgrad(eta, y2)
#> [1] 0.000000e+00 -4.635984e-02 0.000000e+00 1.110223e-17 4.635984e-02
#> [6] 8.261801e-02 9.992007e-17 -1.565746e-01 0.000000e+00 7.395658e-02
# example with strata
y2 <- stratifySurv(y, rep(1:2, length.out = 10))
coxgrad(eta, y2)
#> [1] -0.04165091 -0.01278177 0.06621056 0.04756065 0.04227714 -0.03552950
#> [7] 0.07175852 -0.06887459 -0.13859532 0.06962520