R:pROC 包:在特定范围内绘制 ROC 曲线?

R: pROC package: plot ROC curve across specific range?

我想在特定的 x 值范围内绘制一段 ROC 曲线,而不是绘制整条曲线。我不想改变 x 轴本身的范围。我只想绘制 ROC 曲线的一部分,在我指定的 x 值范围内。

library(pROC)
data(aSAH)
rocobj <- roc(aSAH$outcome, aSAH$wfns)
plot(rocobj)

该代码绘制了整个 ROC 曲线。假设我只想绘制从 x=1 到 x=.5 的曲线。我怎么能那样做?谢谢。

pROC 的 plot 函数使用通常的 R 语义进行绘图,因此您可以像对任何其他绘图一样使用 xlim 参数:

plot(rocobj, xlim = c(1, .5))

roc 对象的默认绘图函数将 rocobj$sensitivities 绘制为 rocobj$specificities 的函数。

所以

plot(rocobj$specificities,rocobj$sensitivities,type="l",xlim=c(1.5,-0.5))
abline(1,-1)

实现与

相同
plot(rocobj)

plot(rocobj$specificities[2:6],rocobj$sensitivities[2:6],type="l",xlim=c(1.5,-0.5),ylim=c(0,1))
abline(1,-1)

接近我认为你所追求的(从 0.514 到 1.0 的绘图)。我对这个包的了解还不够,不知道是否可以在特定范围或特异性分辨率下计算灵敏度。