Skip to contents

Smoothly Clipped Absolute Deviation (SCAD) Cox regression for high-dimensional survival data. SCAD provides automatic variable selection with oracle properties, avoiding over-penalization of large coefficients while maintaining sparsity for small coefficients. Particularly useful for genomics and high-dimensional clinical data where interpretable variable selection is crucial.

Usage

ncvregcox(
  data,
  time,
  event,
  covariates,
  penalty = "SCAD",
  cv_folds = 10,
  lambda_type = "min",
  alpha = 1,
  gamma = 3.7,
  standardize = TRUE,
  plot_path = TRUE,
  plot_cv = TRUE,
  variable_importance = TRUE
)

Arguments

data

the data as a data frame

time

survival time variable

event

event indicator (1=event, 0=censored)

covariates

predictor variables for high-dimensional analysis

penalty

Type of penalty function for variable selection

cv_folds

Number of folds for cross-validation

lambda_type

Lambda selection criterion

alpha

Mixing parameter for elastic net (1=lasso, 0=ridge)

gamma

SCAD gamma parameter or MCP gamma parameter

standardize

Standardize covariates before fitting

plot_path

Display coefficient paths plot

plot_cv

Display cross-validation error plot

variable_importance

Calculate and display variable importance metrics

Value

A results object containing:

results$instructionsa html
results$model_summarya table
results$selected_variablesa table
results$variable_importancea table
results$cross_validation_resultsa table
results$model_comparisona table
results$convergence_infoa table
results$regularization_pathan image
results$cv_error_plotan image
results$variable_selection_plotan image
results$coefficient_comparisonan image
results$model_interpretationa html

Tables can be converted to data frames with asDF or as.data.frame. For example:

results$model_summary$asDF

as.data.frame(results$model_summary)

Examples

ncvregcox(
    data = data,
    time = "time",
    event = "event",
    covariates = c("x1", "x2", "x3"),
    penalty = "SCAD",
    cv_folds = 10,
    lambda_type = "min"
)