coords
This 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.