[R] Calculate Specificity and Sensitivity for a given threshold value

Frank E Harrell Jr f.harrell at vanderbilt.edu
Thu Nov 13 17:00:03 CET 2008


Kaliss wrote:
> Hi list,
> 
> 
> I'm new to R and I'm currently using ROCR package.
> Data in input look like this:
> 
> DIAGNOSIS	SCORE
> 1	0.387945
> 1	0.50405
> 1	0.435667
> 1	0.358057
> 1	0.583512
> 1	0.387945
> 1	0.531795
> 1	0.527148
> 0	0.526397
> 0	0.372935
> 1	0.861097
> 
> And I run the following simple code:
> d <- read.table("inputFile", header=TRUE);
> pred <- prediction(d$SCORE, d$DIAGNOSIS);
> perf <- performance( pred, "tpr", "fpr");
> plot(perf)
> 
> So building the curve works easily.
> My question is: can I have the specificity and the sensitivity for
> a score threshold = 0.5 (for example)? How do I compute this ? 
> 
> Thank you in advance

Beware of the utility/loss function you are implicitly assuming with 
this approach.  It is quite oversimplified.  In clinical practice the 
cost of a false positive or false negative (which comes from a cost 
function and the simple forward probability of a positive diagnosis, 
e.g., from a basic logistic regression model if you start with a cohort 
study) vary with the type of patient being diagnosed.

Frank

-- 
Frank E Harrell Jr   Professor and Chair           School of Medicine
                      Department of Biostatistics   Vanderbilt University



More information about the R-help mailing list