coords_transpose {pROC} | R Documentation |
Transposing the output of coords
Description
This help page desribes recent and upcoming changes in the
return values of the coords
function.
Background information
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
Changes in 1.15
Addition of the
transpose
argument.Display a warning if
transpose
is missing. Passtranspose
explicitly to silence the warning.Deprecation of
as.list
.
Changes in 1.16
Change of the default
transpose
toTRUE
.
THIS CHANGE IS BACKWARDS INCOMPATIBLE AND IS EXPECTED TO BREAK LEGACY CODE.
Changes in 1.17
Dropped the warning if
transpose
is missing.
Changes in future versions
Support for the
as.list
argument might be dropped in the future. This is still under consideration.-
The
transpose
anddrop
arguments might be deprecated in the future, but will remain available for a few additional major versions.
Related changes in ci.coords
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.
Recommendations
If you are writing a new script calling the coords
function, set transpose = FALSE
to silence the warning and benefit from the latest improvements in pROC and obtain a tidy data.
See also
The GitHub issue tracking the changes described in this manual page.