| Title: | Survival Model Validation Utilities |
| Version: | 0.1.0 |
| Author: | Minhyuk Kim |
| Maintainer: | Minhyuk Kim <mhkim@zarathu.com> |
| Description: | Provides helper functions to compute linear predictors, time-dependent ROC curves, and Harrell's concordance index for Cox proportional hazards models as described in Therneau (2024) https://CRAN.R-project.org/package=survival, Therneau and Grambsch (2000, ISBN:0-387-98784-3), Hung and Chiang (2010) <doi:10.1002/cjs.10046>, Uno et al. (2007) <doi:10.1198/016214507000000149>, Blanche, Dartigues, and Jacqmin-Gadda (2013) <doi:10.1002/sim.5958>, Blanche, Latouche, and Viallon (2013) <doi:10.1007/978-1-4614-8981-8_11>, Harrell et al. (1982) <doi:10.1001/jama.1982.03320430047030>, Peto and Peto (1972) <doi:10.2307/2344317>, Schemper (1992) <doi:10.2307/2349009>, and Uno et al. (2011) <doi:10.1002/sim.4154>. |
| Imports: | survival, stats, timeROC, officer, rvg |
| License: | MIT + file LICENSE |
| Encoding: | UTF-8 |
| RoxygenNote: | 7.3.2 |
| URL: | https://newjoseph.github.io/survC/ |
| Suggests: | magrittr, jstable, testthat (≥ 3.0.0) |
| Config/testthat/edition: | 3 |
| NeedsCompilation: | no |
| Packaged: | 2025-10-24 00:33:07 UTC; minhyuk.kim |
| Repository: | CRAN |
| Date/Publication: | 2025-10-29 19:40:02 UTC |
Compute risk scores from a fitted survival model
Description
This helper wraps stats::predict() for coxph objects so that package users
can easily obtain linear predictors (default) or risk scores to feed into
downstream metrics such as time-dependent ROC or Harrell's C-index.
Usage
calc_risk_score(model, data = NULL, type = "lp", ...)
Arguments
model |
A fitted |
data |
Optional dataset on which to score the model. Defaults to the
training data stored within |
type |
Scale of the predictions to return. Either |
... |
Additional arguments passed to |
Value
A numeric vector containing the requested risk scores.
Examples
if (requireNamespace("survival", quietly = TRUE)) {
fit <- survival::coxph(survival::Surv(time, status) ~ age, data = survival::lung)
# Linear predictor on the training data
calc_risk_score(fit)
# Risk scale predictions on new data
calc_risk_score(fit, survival::lung, type = "risk")
}
Calculate Harrell's C-index with 95% CI
Description
Calculate Harrell's C-index with 95% CI
Usage
cindex_calc(model, newdata = NULL, digits = 3)
Arguments
model |
a 'coxph' object |
newdata |
optional validation dataset |
digits |
number of decimal places for rounding (default 3). |
Value
numeric vector of C-index (lower, upper)
Examples
library(survival)
fit <- coxph(Surv(time, status) ~ age + sex, data = lung)
cindex_calc(fit)
Calculate time-dependent ROC and AUC
Description
Calculate time-dependent ROC and AUC
Usage
tdroc_calc(time, status, marker, times)
Arguments
time |
Survival time vector |
status |
Event indicator (1 = event, 0 = censor) |
marker |
Risk score or linear predictor |
times |
Vector of time points (e.g., c(365, 730, 1095)) |
Value
A data.frame with AUCs for each time
Generate survival model validation report
Description
Generate survival model validation report
Usage
validation_report(
train_data,
val_data,
model,
time_col,
status_col,
times = c(365, 730, 1095),
time_unit = "days",
output = NULL
)
Arguments
train_data |
training dataset containing survival outcomes. |
val_data |
validation dataset containing survival outcomes. |
model |
fitted 'coxph' |
time_col |
name of the survival time column present in both datasets |
status_col |
name of the event indicator column present in both datasets |
times |
follow-up timepoints |
time_unit |
character label for the time axis (default = "days") |
output |
file path (.pptx or .html). Defaults to a temporary file. |
Value
Invisibly returns the file path containing the validation report