DNPROCreg: Direct nonparametric ROC regression modelling

View source: R/DNPROCreg.R

DNPROCregR Documentation

Direct nonparametric ROC regression modelling

Description

Estimates the covariate-specific ROC curve in the presence of multidimensional covariates by means of the ROC-GAM regression model presented in Rodriguez- Alvarez et al. (2011)

Usage

DNPROCreg(marker, formula.h = ~1, formula.ROC = ~1, group, tag.healthy, data, 
ci.fit = FALSE, test.partial = NULL, newdata = NULL, 
control = controlDNPROCreg(), weights = NULL)

Arguments

marker

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

formula.h

Right-hand formula(s) giving the mean and variance model(s) to be fitted in healthy population. Atomic values are also valid, being recycled.

formula.ROC

Right-hand formula giving the ROC regression model to be fitted (ROC-GAM model).

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.partial

A numeric vector containing the position of the covariate components in the ROC-GAM formula to be tested for a possible effect. If NULL, no test is performed.. If NULL, no test is performed.

newdata

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

control

Output of the controlDNROCreg() function.

weights

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

Value

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

call

The matched call.

model

Data frame containing all variables and observations used in the fitting process.

fpf

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

newdata

Data frame containing the values of the covariates at which estimates has been obtained.

pfunctions

Matrices containing the estimates of each component of the additive predictor of the ROC-GAM. One matrix contains the effects of the covariates, the other the effect of the FPF. Confidence intervals are returned if required).

coefficients

Vector of parametric coefficient of the fitted ROC-GAM.

ROC

Estimated covariate-specific ROC curve.

AUC

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

pvalue

If required, p-values are obtained - with two different bootstrap-based tests - for each model component indicated in argument test.partial (T2: L_{2}-based test; and T1: L_{1}-based test). See Rodriguez-Alvarez et al. (2016).

Author(s)

Maria Xose Rodriguez-Alvarez and Javier Roca-Pardinas

References

Rodriguez- Alvarez, M.X., Roca-Pardinas, J. and Cadarso-Suarez, C. (2011). A new flexible direct ROC regression model - Application to the detection of cardiovascular risk factors by anthropometric measures. Computational Statistics and Data Analysis, 55(12), 3257–3270.

Rodriguez- Alvarez, M.X., Roca-Pardinas, J. and Cadarso-Suarez, C. (2016). Bootstrap-based procedures for inference in nonparametric ROC regression analysis. Technical report.

See Also

See Also as INPROCreg, summary.DNPROCreg, plot.DNPROCreg, controlDNPROCreg, DNPROCregData.

Examples

data(endosim)
# Fit a model including the interaction between age and gender.
m0 <- DNPROCreg(marker = "bmi", formula.h = "~ gender + s(age) + s(age, by = gender)", 
				formula.ROC = "~ gender + s(age) + s(age, by = gender)", 
				group = "idf_status", 
				tag.healthy = 0, 
				data = endosim, 
				control = list(card.P=50, kbin=30, step.p=0.02))
summary(m0)				
plot(m0)

## Not run: 
# For confidence intervals
set.seed(123)
m1 <- DNPROCreg(marker = "bmi", formula.h = "~ gender + s(age) + s(age, by = gender)", 
				formula.ROC = "~ gender + s(age) + s(age, by = gender)", 
				group = "idf_status", 
				tag.healthy = 0, 
				data = endosim, 
				control = list(card.P=50, kbin=30, step.p=0.02),
				ci.fit = TRUE)
summary(m1)
plot(m1)

# For testing the presence of interaccion between age and gender
set.seed(123)
m2 <- DNPROCreg(marker = "bmi", formula.h = "~ gender + s(age) + s(age, by = gender)", 
				formula.ROC = "~ gender + s(age) + s(age, by = gender)", 
				group = "idf_status", 
				tag.healthy = 0, 
				data = endosim, 
				control = list(card.P=50, kbin=30, step.p=0.02),
				test.partial = 3)
summary(m2)
plot(m2)			

## End(Not run)

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