## ----setup, include=FALSE-----------------------------------------------------
knitr::opts_chunk$set(collapse = TRUE, comment = "#>")

## ----smoke-data, include=FALSE------------------------------------------------
set.seed(2026)
n_smoke <- 140
p_smoke <- 6
X_smoke <- matrix(rnorm(n_smoke * p_smoke), n_smoke, p_smoke)
colnames(X_smoke) <- paste0("x", seq_len(p_smoke))
beta_smoke <- c(1.0, -0.8, 0.6, 0, 0, 0)
T_smoke <- rexp(n_smoke, rate = 0.05 * exp(drop(X_smoke %*% beta_smoke)))
C_smoke <- rexp(n_smoke, rate = 0.025)
time_smoke <- pmin(T_smoke, C_smoke)
status_smoke <- as.integer(T_smoke <= C_smoke)
library(selSurv)
fit_smoke <- coxlasso_fit(X_smoke, time_smoke, status_smoke, lambda_choice = "1se")

## ----example, eval=FALSE------------------------------------------------------
# set.seed(2026)
# n <- 100
# p <- 6
# X <- matrix(rnorm(n * p), n, p)
# colnames(X) <- paste0("x", seq_len(p))
# beta <- c(0.8, -0.6, 0.4, 0, 0, 0)
# T <- rexp(n, rate = 0.06 * exp(drop(X %*% beta)))
# C <- rexp(n, rate = 0.04)
# time <- pmin(T, C)
# status <- as.integer(T <= C)
# 
# library(selSurv)
# fit <- coxlasso_boot_reselect(
#   X, time, status,
#   B = 50,
#   methods = c("fixed_support", "reselect_fixed_lambda", "reselect_cv_min"),
#   seed = 2026,
#   nfolds = 5,
#   standardize = TRUE
# )
# fit_summary <- summary(fit)
# fit_summary$diagnostics
# fit_summary$intervals

## ----reselection-smoke, include=FALSE-----------------------------------------
rs_smoke <- coxlasso_boot_reselect(
  X_smoke, time_smoke, status_smoke,
  B = 3L,
  methods = c("fixed_support", "reselect_fixed_lambda", "reselect_cv_min"),
  conf_level = 0.95,
  seed = 2026,
  nfolds = 3L,
  standardize = TRUE
)
rs_smoke_summary <- summary(rs_smoke)
stopifnot(!is.null(rs_smoke_summary$diagnostics), !is.null(rs_smoke_summary$intervals))

