Fit the binormal model-predicted ROC curve for a dataset. This is the R equivalent of ROCFIT or RSCORE
FitBinormalRoc(dataset, trt = 1, rdr = 1)
The returned value is a list with the following elements:
The mean of the diseased distribution; the non-diseased distribution is assumed to have zero mean
The standard deviation of the non-diseased distribution. The diseased distribution is assumed to have unit standard deviation
The binormal model cutoffs, zetas or thresholds
The binormal model fitted ROC-AUC
The standard deviation of AUC
The initial value of negative LL
The final value of negative LL
The chisquare goodness of fit results
The covariance matrix of the parameters
A ggplot2 object containing the
fitted operating characteristic along with the empirical operating
points. Use print()
to display the object
The ROC dataset
The desired treatment, default is 1
The desired reader, default is 1
In the binormal model ratings (more accurately the latent decision variables)
from diseased cases are sampled from
Dorfman DD, Alf E (1969) Maximum-Likelihood Estimation of Parameters of Signal-Detection Theory and Determination of Confidence Intervals - Rating-Method Data, Journal of Mathematical Psychology 6, 487-496.
Grey D, Morgan B (1972) Some aspects of ROC curve-fitting: normal and logistic models. Journal of Mathematical Psychology 9, 128-139.
# \donttest{
## Test with an included ROC dataset
retFit <- FitBinormalRoc(dataset02);## print(retFit$fittedPlot)
## Test with an included FROC dataset; it needs to be binned
## as there are more than 5 discrete ratings levels
binned <- DfBinDataset(dataset05, desiredNumBins = 5, opChType = "ROC")
retFit <- FitBinormalRoc(binned);## print(retFit$fittedPlot)
## Test with single interior point data
fp <- c(rep(1,7), rep(2, 3))
tp <- c(rep(1,5), rep(2, 5))
dataset <- Df2RJafrocDataset(fp, tp)
retFit <- FitBinormalRoc(dataset);## print(retFit$fittedPlot)
## Test with two interior data points
fp <- c(rep(1,7), rep(2, 5), rep(3, 3))
tp <- c(rep(1,3), rep(2, 5), rep(3, 7))
dataset <- Df2RJafrocDataset(fp, tp)
retFit <- FitBinormalRoc(dataset);## print(retFit$fittedPlot)
## Test with TONY data for which chisqr can be calculated
ds <- DfFroc2Roc(dataset01)
retFit <- FitBinormalRoc(ds, 2, 3);## print(retFit$fittedPlot)
retFit$ChisqrFitStats
## Test with included degenerate ROC data
retFit <- FitBinormalRoc(datasetDegenerate);## print(retFit$fittedPlot)
# }
Run the code above in your browser using DataLab