INPROCreg: Induced nonparametric ROC regression modelling

View source: R/INPROCreg.R

INPROCregR Documentation

Induced nonparametric ROC regression modelling

Description

Estimates the covariate-specific ROC curve (and related measures) in the presence of a one-dimensional continuous covariate based on the induced nonparametric ROC regression approach as presented in Rodriguez-Alvarez et al. (2011).

Usage

INPROCreg(marker, covariate, group, tag.healthy, data, ci.fit = FALSE, 
test = FALSE, accuracy = NULL, accuracy.cal = c("ROC", "AROC"), 
newdata = NULL, control = controlINPROCreg(), weights = NULL)

Arguments

marker

A character string with the name of the diagnostic test variable.

covariate

A character string with the name of the continuous covariate.

group

A character string with the name of the variable that distinguishes healthy from diseased individuals.

tag.healthy

The value codifying the healthy individuals in the variable group.

data

Data frame representing the data and containing all needed variables.

ci.fit

A logical value. If TRUE, confidence intervals are computed.

test

A logical value. If TRUE, the bootstrap-based test for detecting covariate effect is performed.

accuracy

A character vector indicating if the Youden index (“YI”), the value for which the TPF and the TNF coincides (“EQ”), and/or optimal threshold (“TH”) based on these two criteria should be computed.

accuracy.cal

A character string indicating if the accuracy measures should be calculated based on the covariate-specific ROC curve or on the covariate-adjusted ROC curve (AROC).

newdata

A data frame containing the values of the covariate at which predictions are required.

control

Output of the controlINROCreg() function.

weights

An optional vector of ‘prior weights’ to be used in the fitting process.

Value

As a result, the function INPROCreg() provides a list with the following components:

call

The matched call.

X

The data frame used in the predictions.

fpf

Set of false positive fractions at which the covariate-specific ROC curve has been estimated.

h

Estimated regression and variance functions in healthy population.

d

Estimated regression and variance functions in diseased population.

ROC

Estimated covariate-specific ROC curve.

AUC

Estimated covariate-specific AUC, and corresponding confidence intervals if required.

AROC

Estimated covariate-adjusted ROC curve.

YI/EQ

If required, estimated covariate-specific YI (or values at which the TPF and the TNF coincide), and corresponding bootstrap confidence intervals.

TH

If required, estimated optimal threshold values based on either the YI or the criterion of equality of TPF and TNF, and corresponding bootstrap confidence intervals.

pvalue

If required, p-value obtained with the test for checking the effect of the continuous covariate on the ROC curve.

Author(s)

Maria Xose Rodriguez - Alvarez and Javier Roca-Pardinas

References

Gonzalez - Manteiga, W., Pardo-Fernandez, J.C. and van Keilegom, I. (2011). ROC curves in nonparametric location-scale regression models. Scandinavian Journal of Statistics, 38, 169–184.

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.

Yao, F., Craiu, R.V. and Reiser, B. (2010). Nonparametric covariate adjustment for receiver operating characteristic curves. The Canadian Journal of Statistics, 38, 27–46.

See Also

See Also as DNPROCreg, summary.INPROCreg, plot.INPROCreg, controlINPROCreg.

Examples

data(endosim)
# Evaluate the effect of age on the accuracy of the body mass index for males
m0.men <- INPROCreg(marker = "bmi", covariate = "age", group = "idf_status", 
						tag.healthy = 0, 
						data = subset(endosim, gender == "Men"), 
						ci.fit = FALSE, test = FALSE, 
						accuracy = c("EQ","TH"),
						accuracy.cal="AROC", 
						control=controlINPROCreg(p=1,kbin=30,step.p=0.01), 
						newdata = data.frame(age = seq(18,85,l=50)))	

summary(m0.men)
plot(m0.men)
# Evaluate the effect of age on the accuracy of the body mass index for females
m0.women <- INPROCreg(marker = "bmi", covariate = "age", group = "idf_status", 
						tag.healthy = 0, 
						data = subset(endosim, gender == "Women"), 
						ci.fit = FALSE, test = FALSE, 
						accuracy = c("EQ","TH"),
						accuracy.cal="ROC", 
						control=controlINPROCreg(p=1,kbin=30,step.p=0.01), 
						newdata = data.frame(age = seq(18,85,l=50)))
						
summary(m0.women)						
plot(m0.women)
## Not run: 
# For computing confidence intervals and testing covariate effect
set.seed(123)
m1.men <- INPROCreg(marker = "bmi", covariate = "age", group = "idf_status", 
						tag.healthy = 0, 
						data = subset(endosim, gender == "Men"), 
						ci.fit = TRUE, test = TRUE, 
						accuracy = c("EQ","TH"),
						accuracy.cal="AROC", 
						control=controlINPROCreg(p=1,kbin=30,step.p=0.01), 
						newdata = data.frame(age = seq(18,85,l=50)))
summary(m1.men)
plot(m1.men)					

## End(Not run)

npROCRegression documentation built on Aug. 31, 2023, 5:15 p.m.