coords
This help page desribes recent and upcoming changes in the
return values of the coords
function.
Until the release of pROC 1.16, the coords
function was 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 didn'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 pROC version 1.16, this was changed and coords
now returns
a data.frame
with the thresholds in rows and measurement in colums by default.
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
Addition of the transpose
argument.
Display a warning if transpose
is missing. Pass transpose
explicitly to silence the warning.
Deprecation of as.list
.
Change of the default transpose
to TRUE
.
THIS CHANGE IS BACKWARDS INCOMPATIBLE AND IS EXPECTED TO BREAK LEGACY CODE.
Dropped the warning if transpose
is missing.
Setting transpose=TRUE
is deprecated and triggers a warning.
The as.list
, as.matrix
and drop
are deprecated.
Setting them to any value triggers a waring.
transpose=FALSE
continues to work normally.
Setting transpose
to TRUE
will stop working and result
in an error.
The drop
, as.list
and as.matrix
arguments will
be removed.
transpose=FALSE
will keep working indefinitely.
In version 1.16, the format of the ci.coords
return value was changed from a matrix-like object with mixed x
and ret
in rows and 3 columns, into a list-like object which should be easier to use programatically.
The GitHub issue tracking the changes described in this manual page.