Submitting Author Name: Payton Yau
Submitting Author Github Handle: @paytonyau
Repository: https://github.com/paytonyau/OptSurvCutR
Version submitted: 0.10.0
Submission type: Stats
Badge grade: gold(select one)
Editor: @nhejazi
Reviewers: TBD
Archive: TBD
Version accepted: TBD
Language: en
- Paste the full DESCRIPTION file inside a code block below:
Package: OptSurvCutR
Type: Package
Title: Optimal Survival Cut-Point Discovery for Time-to-Event Analysis with 'OptSurvCutR'
Version: 0.10.0
Authors@R:
person(given = "Payton",
family = "Yau",
role = c("aut", "cre", "cph"),
email = "tungon@gmail.com",
comment = c(ORCID = "0000-0002-3283-0370"))
Description: Provides a robust workflow for optimal cut-point analysis in
time-to-event ('survival') data. Functions determine the optimal number
of cut-points via find_cutpoint_number(), find their precise locations
via find_cutpoint() using systematic or genetic algorithms (via the
'rgenoud' package), and validate stability via bootstrapping using
validate_cutpoint(). Features include covariate adjustment, parallel
processing, and an extensible S3 plotting engine for clinical
dashboards and diagnostics.
License: GPL-3
URL: https://github.com/paytonyau/OptSurvCutR,
https://paytonyau.github.io/OptSurvCutR/
BugReports: https://github.com/paytonyau/OptSurvCutR/issues
Encoding: UTF-8
LazyData: true
VignetteBuilder: knitr
Imports:
cli,
doParallel,
doRNG,
foreach,
ggplot2,
parallel,
patchwork,
Rcpp,
rgenoud,
rlang,
stats,
survival,
survminer,
tidyr
LinkingTo:
Rcpp
Suggests:
broom,
dplyr,
knitr,
plotly,
readxl,
rmarkdown,
spelling,
testthat (>= 3.0.0),
timeROC
Config/testthat/edition: 3
Depends:
R (>= 3.5)
Language: en-GB
Config/Needs/website: logo.png
Config/roxygen2/version: 8.0.0
Scope
Pre-submission Inquiry
General Information
- Who is the target audience and what are scientific applications of this package?
Target Audience: Biostatisticians, epidemiologists, bioinformaticians, and clinical trial researchers analysing time-to-event outcomes.
Scientific Applications: In clinical oncology and translational research, quantitative continuous biomarkers (such as gene expression profiles, clinical assay variables, or cell-density levels) are frequently stratified into distinct categorical groups to aid risk assessment and therapeutic selection. This package provides an objective, automated framework to simultaneously identify the mathematically optimal number of partitions and their precise boundary thresholds using a Cox Proportional-Hazards framework without introducing unregularized selection bias.
-
Paste your responses to our General Standard G1.1 here, describing whether your software is:
- The first implementation of a novel algorithm; or
- The first implementation within R of an algorithm which has previously been implemented in other languages or contexts; or
- An improvement on other implementations of similar algorithms in R.
Please include hyperlinked references to all other relevant software.
OptSurvCutR represents a fundamental structural advance over existing R packages such as survminer (via surv_cutpoint) and cutpointr.
Existing software in R is architecturally constrained to simple dichotomisation (discovering exactly one optimal split) or requires the user to manually pre-specify a fixed threshold grid. OptSurvCutR eliminates this limitation entirely by treating both the optimal number of cut-points (from 0 up to a user-defined maximum) and their precise boundary locations as a single, combined optimization problem.
It features global optimisation via rgenoud to discover multi-cutpoint solutions. Because multi-cut thresholds exponentially expand the combinatorial search space, the package deploys compiled C++ routines via Rcpp and RcppArmadillo to handle hardware-accelerated patient vector partitioning and grouping assignments at scale. These resulting risk strata are then modeled via Cox regression, using information-theoretic penalties (AIC, AICc, BIC) to ensure optimal model parsimony.
It is fully compliant. The package works entirely on open, synthetic clinical data matrices included in the benchmarking suites and does not access, store, or transmit any Protected Health Information (PHI) or personal patient records.
Badging
gold
The package comprehensively satisfies all four aspects required for a Gold badge designation:
- Extended Documentation & Guidance: Features a deeply explanatory vignette tracing the underlying statistical theory, mathematical trade-offs, and practical step-by-step implementations on realistic data scenarios.
- Extensive Test Coverage: Contains a robust and rigorous testing suite covering matrix edge cases, zero-length conditions, non-convergence parameters, and type handling, yielding a programmatic line coverage score exceeding 80%.
- Algorithmic Performance Rigor: Leverages optimised C++ routines (
Rcpp/RcppArmadillo) and localised downsampling mechanisms to scale cleanly across dense dataset dimensions.
- Rigorous Adherence to Standards: Extensively maps, logs, and fulfills the entirety of rOpenSci's required and recommended
srrstats standards for Regression and Supervised Learning packages.
Technical checks
Confirm each of the following by checking the box.
This package:
Use of Generative AI
If so, please describe usage, and include links to any relevant aspects of your repository. See our blog post for background. (Explicit advice is not yet included in our Dev Guide; we are hoping to update very soon, and ask your cooperation and transparency in the meantime.)
Generative AI was used strictly in a supportive copilot capacity to help generate baseline structures for testing scripts, reflow long Roxygen2 code-comment headers within the 80-character requirement across visualisation files, and construct the localised .gitattributes routing logic. The underlying statistical mathematical modelling, numerical optimisation infrastructure, and compiled Rcpp logic layers were authored entirely by the developer and validated via local software test matrices.
Publication options
Code of conduct
Submitting Author Name: Payton Yau
Submitting Author Github Handle: @paytonyau
Repository: https://github.com/paytonyau/OptSurvCutR
Version submitted: 0.10.0
Submission type: Stats
Badge grade: gold(select one)
Editor: @nhejazi
Reviewers: TBD
Archive: TBD
Version accepted: TBD
Language: en
Scope
Please indicate which of our statistical package categories this package falls under. (Please check one or more appropriate boxes below):
Statistical Packages
Pre-submission Inquiry
General Information
Target Audience: Biostatisticians, epidemiologists, bioinformaticians, and clinical trial researchers analysing time-to-event outcomes.
Scientific Applications: In clinical oncology and translational research, quantitative continuous biomarkers (such as gene expression profiles, clinical assay variables, or cell-density levels) are frequently stratified into distinct categorical groups to aid risk assessment and therapeutic selection. This package provides an objective, automated framework to simultaneously identify the mathematically optimal number of partitions and their precise boundary thresholds using a Cox Proportional-Hazards framework without introducing unregularized selection bias.
Paste your responses to our General Standard G1.1 here, describing whether your software is:
Please include hyperlinked references to all other relevant software.
OptSurvCutRrepresents a fundamental structural advance over existing R packages such assurvminer(viasurv_cutpoint) andcutpointr.Existing software in R is architecturally constrained to simple dichotomisation (discovering exactly one optimal split) or requires the user to manually pre-specify a fixed threshold grid.
OptSurvCutReliminates this limitation entirely by treating both the optimal number of cut-points (from 0 up to a user-defined maximum) and their precise boundary locations as a single, combined optimization problem.It features global optimisation via
rgenoudto discover multi-cutpoint solutions. Because multi-cut thresholds exponentially expand the combinatorial search space, the package deploys compiled C++ routines viaRcppandRcppArmadilloto handle hardware-accelerated patient vector partitioning and grouping assignments at scale. These resulting risk strata are then modeled via Cox regression, using information-theoretic penalties (AIC, AICc, BIC) to ensure optimal model parsimony.It is fully compliant. The package works entirely on open, synthetic clinical data matrices included in the benchmarking suites and does not access, store, or transmit any Protected Health Information (PHI) or personal patient records.
Badging
gold
The package comprehensively satisfies all four aspects required for a Gold badge designation:
Rcpp/RcppArmadillo) and localised downsampling mechanisms to scale cleanly across dense dataset dimensions.srrstatsstandards for Regression and Supervised Learning packages.Technical checks
Confirm each of the following by checking the box.
autotestchecks on the package, and ensured no tests fail.srr_stats_pre_submit()function confirms this package may be submitted.pkgcheck()function confirms this package may be submitted - alternatively, please explain reasons for any checks which your package is unable to pass.This package:
Use of Generative AI
If so, please describe usage, and include links to any relevant aspects of your repository. See our blog post for background. (Explicit advice is not yet included in our Dev Guide; we are hoping to update very soon, and ask your cooperation and transparency in the meantime.)
Generative AI was used strictly in a supportive copilot capacity to help generate baseline structures for testing scripts, reflow long Roxygen2 code-comment headers within the 80-character requirement across visualisation files, and construct the localised
.gitattributesrouting logic. The underlying statistical mathematical modelling, numerical optimisation infrastructure, and compiled Rcpp logic layers were authored entirely by the developer and validated via local software test matrices.Publication options
Code of conduct