| Type: | Package | 
| Title: | Value Added Receiver Operating Characteristics Curve | 
| Version: | 0.4.0 | 
| Date: | 2025-06-20 | 
| Description: | A continuous version of the receiver operating characteristics (ROC) curve to assess both classification and continuity performances of biomarkers, diagnostic tests, or risk prediction models. | 
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] | 
| Depends: | R (≥ 4.2.0), pROC, corrplot, grDevices, graphics, stats, utils | 
| NeedsCompilation: | no | 
| Packaged: | 2025-06-21 14:39:28 UTC; ychung36 | 
| Author: | Yunro Chung  | 
| Maintainer: | Yunro Chung <yunro.chung@asu.edu> | 
| Repository: | CRAN | 
| Date/Publication: | 2025-06-21 15:00:02 UTC | 
VAROC: value added receiver operating characteristics (ROC) curve
Description
ROC curve to visualize classification and continuity performances of biomarkers, diagnostic tests, or risk prediction models.
Usage
varoc(y,x,tmd.range=NULL,legend="right",lwd=3,digits=2)
Arguments
y | 
 binary outcome, where y=1 if disease (or case) and y=0 if non-disease (or control).  | 
x | 
 continuous score, e.g. biomarker, diagnostic test, risk score.  | 
tmd.range | 
 minimum and maximum values of TMD, displayed on the plot.  | 
legend | 
 legend location, "bottomright", "bottom", "bottomleft", "left", "topleft", "top", "topright", "right" and "center".  | 
lwd | 
 line width.  | 
digits | 
 number of decimals.  | 
Details
The varoc function summarizes a continuity performance of x at each cutoff c using two key metrics: (i) tail mean difference (TMD) and (ii) intergrated TMD (ITMD). For (i), TMD(c) is true positive mean(TPM)(c) minus false positive mean(FPM)(c), where TPM(c) is E(x>c|y=1) and FPM(c) is E(x>c|y=0). For (ii), ITMD is a global measure of evaluating continuity performance of x over all thresholds.
These measures are continuous versions of ROC curve-based measures. Specifically, TPM(c) and FPM(c) are continuous versions of true positive fraction (TPF)(c) and false positive fraction (FPF)(c), where TPF(c)=P(x>c|y=1) and FPF(c)=P(x>c|y=0). Thus, the useful (or useless) x has TPF(c)-FPF(c)>0 and TMD(c)>0 (or TPF(c)-FPF(c)=0 and TMD(c)=0); and useful (or useless) x has area under the ROC curve (AUC)>0.5 and ITMD(c)>0 (or AUC=0.5 and ITMD(c)=0).
Value
th | 
 Threshold values.  | 
tpf | 
 True positive fraction at each threshold.  | 
fpf | 
 False positive fraction at each th.  | 
tpm | 
 True positive mean at each th.  | 
fpm | 
 False positive fraction at each th.  | 
tmd | 
 Tail mean difference, i.e., tpm-fpm, at each th.  | 
auc | 
 Area under the ROC curve.  | 
itmd | 
 Integrated tmd over all theresholds.  | 
Author(s)
Yunro Chung [aut, cre]
References
Danielle Brister and Yunro Chung, Value added receiver operating characteristics curve (in-progress)
Examples
set.seed(100)
n1=100
n0=100
y=c(rep(1,n1),rep(0,n0))
#1. useless marker
x1=abs(c(rnorm(n1,0,1),rnorm(n0,0,1)))
fit1=varoc(y=y,x=x1)
#2. useful marker
x2=abs(c(rnorm(n1,2,1),rnorm(n0,0,1)))
fit2=varoc(y=y,x=x2)
#4. markers 1 vs 2
opar=par(mfrow=c(1,2))
tmd.range=range(c(fit1$tmd,fit2$tmd))
fit1=varoc(y=y,x=x1,tmd.range=tmd.range)
fit2=varoc(y=y,x=x2,tmd.range=tmd.range)
on.exit(par(opar))