Determines optimal cutpoints for continuous biomarkers to maximize diagnostic or prognostic performance. Essential for converting continuous measurements to clinically actionable thresholds and preventing arbitrary cutpoint selection in pathology studies.
Usage
optimalcutpoint(
  data,
  biomarker,
  analysis_type = "binary",
  outcome,
  time_var,
  status_var,
  cutpoint_method = "youden",
  bootstrap_validation = FALSE,
  bootstrap_runs = 1000,
  cross_validation = FALSE,
  cv_folds = 10,
  performance_metrics = TRUE,
  survival_analysis = TRUE,
  confidence_level = 0.95,
  multiple_testing = "miller_siegmund",
  plot_roc = TRUE,
  plot_distribution = TRUE,
  plot_survival = TRUE
)Arguments
- data
- the data as a data frame 
- biomarker
- Continuous biomarker variable for cutpoint optimization 
- analysis_type
- Type of analysis based on outcome variable 
- outcome
- Outcome variable for binary or continuous analysis 
- time_var
- Time-to-event variable for survival analysis 
- status_var
- Event status variable for survival analysis (0=censored, 1=event) 
- cutpoint_method
- Method for cutpoint optimization 
- bootstrap_validation
- Perform bootstrap validation of cutpoint stability 
- bootstrap_runs
- Number of bootstrap runs for validation 
- cross_validation
- Perform cross-validation for cutpoint assessment 
- cv_folds
- Number of folds for cross-validation 
- performance_metrics
- Calculate comprehensive performance metrics 
- survival_analysis
- Perform survival analysis for optimal groups 
- confidence_level
- Confidence level for intervals and tests 
- multiple_testing
- Multiple testing correction for cutpoint selection 
- plot_roc
- Generate ROC curve with optimal cutpoint 
- plot_distribution
- Show biomarker distribution with cutpoint 
- plot_survival
- Generate Kaplan-Meier curves for optimal groups 
Value
A results object containing:
| results$instructions | Instructions for optimal cutpoint determination | ||||
| results$cutpointresults | Optimal cutpoint values and associated metrics | ||||
| results$performance | Diagnostic performance at optimal cutpoint | ||||
| results$survival | Survival statistics for optimal groups | ||||
| results$validation | Bootstrap validation of cutpoint stability | ||||
| results$crossvalidation | Cross-validation performance assessment | ||||
| results$rocplot | ROC curve showing optimal cutpoint | ||||
| results$distributionplot | Distribution of biomarker with optimal cutpoint | ||||
| results$survivalplot | Survival curves for optimal groups | ||||
| results$cutpointplot | Visualization of cutpoint search process | ||||
| results$interpretation | Clinical context and interpretation for optimal cutpoints | 
Tables can be converted to data frames with asDF or as.data.frame. For example:
results$cutpointresults$asDF
as.data.frame(results$cutpointresults)
Examples
data('histopathology')
optimalcutpoint(data = histopathology,
               biomarker = ki67_score,
               outcome = tumor_grade,
               analysis_type = "binary")