Learn R Programming

RJafroc (version 1.3.2)

Compare3ProperRocFits: Compare three proper-ROC curve fitting models

Description

Applies the Radiological Search Model (RSM) and the Contaminated Binormal Model (CBM) ROC-curve fitting methods to 14 datasets and compares the fits to Proper ROC (PROPROC) fits obtained using Windows software downloaded from the Univ. of Iowa ROC website ca. June 2017.

Usage

Compare3ProperRocFits(
  startIndx = 1,
  endIndx = 14,
  showPlot = FALSE,
  saveProprocLrcFile = FALSE,
  reAnalyze = FALSE
)

Arguments

startIndx

An integer in the range 1 to 14.

endIndx

An integer in the range 1 to 14, greater than or equal to startIndx.

showPlot

If TRUE the three plots are shown along with 95 percent confidence intervals on the lowest and uppermost operating points. The default is FALSE.

saveProprocLrcFile

If TRUE the binned datasets are saved for subsequent analysis using other ROC software, e.g., Windows DBM-MRMC. The default is FALSE.

reAnalyze

If TRUE the data is reanalyzed. The default is FALSE in which case the previously saved results are used.

Value

The returned value is a list of 2: allDatasetsResults containing the fitting results and allBinnedDatasets containing the binned datasets used in the fitting. See details.

Details

allDatasetsResults is a list-array of length (endIndx - startIndx + 1), where each element of the list-array is a list with 10 elements.

  • allDatasetsResults[[1]][[1]]parameters of treatment 1 reader 1 in dataset startIndx

  • allDatasetsResults[[1]][[2]]parameters of treatment 1 reader 2 in dataset startIndx

  • allDatasetsResults[[1]][[IJ]]parameters of treatment I reader J in dataset startIndx

  • allDatasetsResults[[2]][[1]]parameters of treatment 1 reader 1 in dataset startIndx+1

  • allDatasetsResults[[2]][[2]]parameters of treatment 1 reader 2 in dataset startIndx+1

  • allDatasetsResults[[2]][[IJ]]parameters of treatment I reader J in dataset startIndx+1

  • allBinnedDatasets[[1]]binned ROC dataset corresponding to dataset startIndx

  • allDatasetsResults[[2]][[IJ]]binned ROC dataset corresponding to dataset startIndx+1

A specific member, e.g., allDatasetsResults[[1]][[1]], has the following structure:

  • retRsm The RSM parameters following the output structure of FitRsmRoc

  • retCbm The CBM parameters following the output structure of FitCbmRoc

  • lesDistr The lesion distribution matrix

  • c1 The c-parameter of PROPROC

  • da The d_sub_a parameter of PROPROC

  • aucProp The PROPROC AUC

  • I The number of treatments

  • J The number of readers

  • K1 The number of non-diseased cases

  • K2 The number of diseased cases

The PROPROC parameters were obtained by running Windows software OR DBM-MRMC 2.50 (Sept. 04, 2014, Build 4) with PROPROC and area selected. The RSM and CBM fits are implemented in this package. Chapter 19 of the author's book has further details. If saveProprocLrcFile is TRUE, the .lrc files will be written to the inst-MRMCRuns directory, to appropriate subdirectory, overwriting any existing files.

References

Chakraborty DP (2017) Observer Performance Methods for Diagnostic Imaging - Foundations, Modeling, and Applications with R-Based Examples, CRC Press, Boca Raton, FL. https://www.crcpress.com/Observer-Performance-Methods-for-Diagnostic-Imaging-Foundations-Modeling/Chakraborty/p/book/9781482214840

Metz CE, Pan X 1999 Proper Binormal ROC Curves: Theory and Maximum-Likelihood Estimation. J Math Psychol. 43,(1):1--33.

Dorfman DD, Berbaum KS, 2000 A contaminated binormal model for ROC data: Part II. A formal model Acad Radiol 7, 427--437.

Examples

Run this code
# NOT RUN {
ret <- Compare3ProperRocFits(1,1) # analyze first two datasets

# }
# NOT RUN {
## takes longer than 5 sec on OSX
ret <- Compare3ProperRocFits(1,2,reAnalyze = TRUE) # analyze first two datasets
x <- ret$allDatasetsResults
str(x[[1]][[1]]) # parameters for dataset 1 trt 1 and rdr 1
str(x[[1]][[2]]) # parameters for dataset 1 trt 1 and rdr 2
str(x[[1]][[10]])# parameters for dataset 1 trt 2 and rdr 5
str(x[[2]][[1]]) # parameters for dataset 2 trt 1 and rdr 1
str(x[[2]][[2]]) # parameters for dataset 2 trt 1 and rdr 2
str(x[[2]][[10]])# parameters for dataset 2 trt 2 and rdr 5
# }
# NOT RUN {
# }
# NOT RUN {
## these examples will cause errors; 
##these are intended to illustrate the structure of the functions return object
str(x[[1]][[11]])# error
str(x[[3]][[1]]) # error
# }
# NOT RUN {

# }

Run the code above in your browser using DataLab