coordsThis help page desribes recent and upcoming changes in the
return values of the coords function.
Since the initial release of pROC, the coords has been returning
a matrix with thresholds in columns, and the coordinate variables in rows.
data(aSAH) rocobj <- roc(aSAH$outcome, aSAH$s100b) coords(rocobj, c(0.05, 0.2, 0.5)) # 0.05 0.2 0.5 # threshold 0.05000000 0.2000000 0.5000000 # specificity 0.06944444 0.8055556 0.9722222 # sensitivity 0.97560976 0.6341463 0.2926829
This format doesn't conform to the grammar of the tidyverse which has become prevalent in modern R language.
In addition, the dropping of dimensions by default makes it difficult to guess
what type of data coords is going to return.
coords(rocobj, "best") # threshold specificity sensitivity # 0.2050000 0.8055556 0.6341463 # A numeric vector
Although it is possible to pass drop = FALSE, the fact that it is not the
default makes the behaviour unintuitive.
In an upcoming version of pROC, this will be changed and coords will return
a data.frame with the thresholds in rows and measurement in colums by default.
Addition of the transpose argument.
Display a warning if transpose is missing. Pass transpose explicitly to silence the warning.
Deprecation of as.list.
With transpose = FALSE, the output is a data.frame looking like this:
coords(rocobj, c(0.05, 0.2, 0.5), transpose = FALSE) # threshold specificity sensitivity # 0.05 0.05 0.06944444 0.9756098 # 0.2 0.20 0.80555556 0.6341463 # 0.5 0.50 0.97222222 0.2926829
It is recommended that new developments set transpose = FALSE explicitly.
These changes are neutral to the API and do not affect functionality outside of a warning.
The next version of pROC will change the default transpose to FALSE.
This is a backward incompatible change that will break any script that did not previously set transpose and will
initially come with a warning to make debugging easier. The warning will eventually be removed. Scripts that set transpose explicitly will be unaffected.
If you are writing a script calling the coords function, set transpose = FALSE to silence the warning and make sure your script keeps running smoothly once the
default transpose is changed to FALSE.
The GitHub issue tracking the changes described in this manual page.