如果没有时间精力学习代码,推荐了解:零代码数据挖掘课程
pROC package
以下是本包中常用的一些缩写
ROC: receiver operating characteristic,ROC曲线
AUC: area under the ROC curve,曲线下面积
pAUC: partial area under the ROC curve 部分曲线下面积
CI: confidence interval 可信区间
SP: specificity 特异度
SE: sensitivity 灵敏度
require(pROC)
data(aSAH)
if(!require(DT)) install.packages(DT)
DT::datatable(aSAH)
aSAH[1:5,1:5]
image.png
roc函数建立roc曲线
支持在管道中运行
参数分别为data, event, predict marker
library(dplyr)
aSAH %>%
filter(gender == "Female") %>%
roc(outcome, s100b)
Call:
roc.data.frame(data = ., response = outcome, predictor = s100b)
Data: s100b in 50 controls (outcome Good) < 21 cases (outcome Poor).
Area under the curve: 0.72
coords函数中筛选有效的的坐标
transpose参数指返回值的格式,FALSE 为row
这样筛选出了敏感度和特异度>0.6的坐标
library(dplyr)
aSAH %>%
filter(gender == "Female") %>%
roc(outcome, s100b) %>%
coords(transpose=FALSE) %>%
filter(sensitivity > 0.6,
specificity > 0.6)
threshold specificity sensitivity
1 0.155 0.68 0.6666667
2 0.165 0.74 0.6666667