[英]How to fill in AUC of a ROC plot in R?
我有这个ROC情节:
library(Epi)
library(pROC)
data(aSAH)
data <- aSAH
plot.roc(data$outcome, data$s100b)
我想为Area under the curve: 0.7314
着色Area under the curve: 0.7314
。
我试过......
x <- seq(1, 0, by = - .001)
polygon(x, roc(data$outcome, data$s100b),
col = rgb(.35,0.31,0.61, alpha = 0.4),
border = rgb(.35,0.31,0.61, 0.4),
lwd=2)
...并收到错误消息:
Error in xy.coords(x, y) : 'x' and 'y' lengths differ
。
如何才能完成任务?
来自pROC
的plot.roc
函数已经构建了参数以启用( auc.polygon
)和调整( auc.polygon.col
, auc.polygon.border
等,参见?plot.roc
)AUC的显示。 在您的情况下,您可以使用:
plot.roc(data$outcome, data$s100b,
auc.polygon = TRUE,
auc.polygon.col=rgb(.35,0.31,0.61, alpha = 0.4),
auc.polygon.border=rgb(.35,0.31,0.61, 0.4))
尝试
library(Epi)
library(pROC)
data(aSAH)
data <- aSAH
res <- plot.roc(data$outcome, data$s100b)
polygon(with(res, cbind(specificities, sensitivities)),
col = rgb(.35,0.31,0.61, alpha = 0.4),
border = rgb(.35,0.31,0.61, 0.4),
lwd=2)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.