compute.threshold.AROC.kernel {AROC}R Documentation

AROC-based threshold values.


Estimates AROC-based threshold values using the nonparametric kernel-based method proposed by Rodriguez-Alvarez et al. (2011).


compute.threshold.AROC.kernel(object, newcovariate, FPF = 0.5)



An object of class AROC as produced by AROC.kernel.


Numeric vector with the covariate values at which threshold values are required.


Numeric vector with the FPF at which to calculate the AROC-based threshold values. Atomic values are also valid.


Estimation of the covariate-adjusted ROC curve (AROC) using the nonparametric kernel-based method proposed by Rodriguez-Alvarez et al. (2011) involves the estimation of the conditional distribution function for the diagnostic test outcome in the healthy population

F_{\bar{D}}(y|X_{\bar{D}}) = Pr\{Y_{\bar{D}} ≤q y | X_{\bar{D}}\}.

This function makes use of this estimate in order to calculate AROC-based threshold values. In particular, for a covariate value x and a FPF = t, the AROC-based threshold value is calculated as follows

\hat{c}_{\mathbf{x}} = \hat{F}^{-1}_{\bar{D}}(1-t|\mathbf{X}_{\bar{D}} = \mathbf{x}).


A matrix with the computed AROC-based threshold values. The matrix has as many columns as different covariate values, and as many rows as different FPFs.


Hayfield, T., and Racine, J. S.(2008). Nonparametric Econometrics: The np Package. Journal of Statistical Software 27(5). URL

Inacio de Carvalho, V., and Rodriguez-Alvarez, M. X. (2018). Bayesian nonparametric inference for the covariate-adjusted ROC curve. arXiv preprint arXiv:1806.00473.

Rodriguez-Alvarez, M. X., Roca-Pardinas, J., and Cadarso-Suarez, C. (2011). ROC curve and covariates: extending induced methodology to the non-parametric framework. Statistics and Computing, 21(4), 483 - 499.

See Also



# Select the last measurement
newpsa <- psa[!duplicated(psa$id, fromLast = TRUE),]

# Log-transform the biomarker
newpsa$l_marker1 <- log(newpsa$marker1)

m2 <- AROC.kernel(marker = "l_marker1", covariate = "age",
group = "status", tag.healthy = 0, data = newpsa, 
p = seq(0,1,l=101), B = 500)

# Compute the threshold values
cov.values <- seq(52, 80, l = 50)
FPF = c(0.1, 0.3)

th_np <- compute.threshold.AROC.kernel(m2, cov.values, FPF)

[Package AROC version 1.0-3 Index]