为了画出好看的ROC曲线图,详细的学习了下pROC的包
所有参数如下:
library(pROC)
data(aSAH)
plot.roc(aSAH$outcome, aSAH$s100b, # data
percent=TRUE, # show all values in percent
partial.auc=c(100, 90), partial.auc.correct=TRUE, # define a partial AUC (pAUC)
print.auc=TRUE, #display pAUC value on the plot with following options:
print.auc.pattern="Corrected pAUC (100-90%% SP):\n%.1f%%", print.auc.col="#1c61b6",
auc.polygon=TRUE, auc.polygon.col="#1c61b6", # show pAUC as a polygon
max.auc.polygon=TRUE, max.auc.polygon.col="#1c61b622", # also show the 100% polygon
main="Partial AUC (pAUC)")
plot.roc(aSAH$outcome, aSAH$s100b,
percent=TRUE, add=TRUE, type="n", # add to plot, but don't re-add the ROC itself (useless)
partial.auc=c(100, 90), partial.auc.correct=TRUE,
partial.auc.focus="se", # focus pAUC on the sensitivity
print.auc=TRUE, print.auc.pattern="Corrected pAUC (100-90%% SE):\n%.1f%%", print.auc.col="#008600",
print.auc.y=40, # do not print auc over the previous one
auc.polygon=TRUE, auc.polygon.col="#008600",
max.auc.polygon=TRUE, max.auc.polygon.col="#00860022")
但是对我来说以下就够用了:
plot(rocobj1,
#col="black" ##曲线颜色
#identity.col="blue"##对角线颜色
print.auc=TRUE,print.auc.x=0.5,print.auc.y=0.5, # 图像上输出AUC值,坐标为(x,y)
auc.polygon=TRUE, auc.polygon.col="skyblue", # 设置ROC曲线下填充及颜色
max.auc.polygon=TRUE, # 填充整个图像,ROC去曲线上填充
##partial.auc=c(1, 0.8), partial.auc.focus="sp", # 范围内部分AUC;sp:横坐标;se:纵坐标
grid=c(0.1, 0.2),grid.col=c("green", "red"), # 设置间距为0.1,0.2,线条颜色
print.thres=TRUE, print.thres.col="black",thresholds="best", # 图像上输出最佳截断值,thresholds赋值给best
smooth=TRUE, #使ROC曲线变得光滑
reuse.auc=F)# F不变,T是使横轴从0到1,表示为1-特异度