Learn R Programming

hdnom (version 5.0)

hdcox.snet: Snet Model Selection for High-Dimensional Cox Models

Description

Automatic Snet model selection for high-dimensional Cox models, evaluated by penalized partial-likelihood.

Usage

hdcox.snet(x, y, nfolds = 5L, gammas = c(2.01, 2.3, 3.7, 200),
  alphas = seq(0.05, 0.95, 0.05), eps = 1e-04, max.iter = 10000L,
  seed = 1001, trace = FALSE, parallel = FALSE)

Arguments

x

Data matrix.

y

Response matrix made by Surv.

nfolds

Fold numbers of cross-validation.

gammas

Gammas to tune in cv.ncvsurv.

alphas

Alphas to tune in cv.ncvsurv.

eps

Convergence threshhold.

max.iter

Maximum number of iterations.

seed

A random seed for cross-validation fold division.

trace

Output the cross-validation parameter tuning progress or not. Default is FALSE.

parallel

Logical. Enable parallel parameter tuning or not, default is FALSE. To enable parallel tuning, load the doParallel package and run registerDoParallel() with the number of CPU cores before calling this function.

Examples

Run this code
# NOT RUN {
library("survival")
library("rms")

# Load imputed SMART data; only use the first 120 samples
data("smart")
x = as.matrix(smart[, -c(1, 2)])[1:120, ]
time = smart$TEVENT[1:120]
event = smart$EVENT[1:120]
y = Surv(time, event)

# Fit Cox model with Snet penalty
fit = hdcox.snet(
  x, y, nfolds = 3,
  gammas = 3.7, alphas = c(0.3, 0.8),
  max.iter = 15000, seed = 1010)

# Prepare data for hdnom.nomogram
x.df = as.data.frame(x)
dd = datadist(x.df)
options(datadist = "dd")

# Generate hdnom.nomogram objects and plot nomogram
nom = hdnom.nomogram(
  fit$snet_model, model.type = "snet",
  x, time, event, x.df, pred.at = 365 * 2,
  funlabel = "2-Year Overall Survival Probability")

plot(nom)
# }

Run the code above in your browser using DataLab