受试者工作特征曲线(ROC曲线),最初作为一种分析方法在二战时用于评价雷达性能(鉴别敌方,友方以及噪音),目前广泛应用于医学诊断、生物信息学、数据挖掘和机器学习等研究中。
ROC曲线可用于评价生物标记物(biomarker)的表现以及比较不同打分方法(scoring methods)。因此,ROC曲线是非常重要和常见的统计分析方法,下面我们就用两种方法绘制ROC曲线图吧~
part 1:pROC绘制ROC曲线
1.下载pROC包和ggplot2包
BiocManager::install("pROC")
BiocManager::install("ggplot2")
2.调用pROC包,调用ggplot2包以利用ggroc函数
library(pROC)
library(ggplot2)
3.建立曲线
data(aSAH)
rocobj1<-roc(aSAH$outcome,aSAH$s100b)
rocobj2<-roc(aSAH$outcome,aSAH$wfns)
rocobj3<-roc(aSAH$outcome,aSAH$ndka)
4.计算full AUC
auc(rocobj1)
auc(rocobj2)
auc(rocobj3)
5.绘制曲线
plot(rocobj1)
6.其他参数美化
plot(rocobj1, print.auc=TRUE, auc.polygon=TRUE,
grid=c(0.1, 0.2),
grid.col=c("green", "red"),
max.auc.polygon=TRUE,
auc.polygon.col="skyblue",
print.thres=TRUE)
7.计算partial AUC选择关注(sp或se)一定范围的数据
plot(rocobj1, print.auc=TRUE, auc.polygon=TRUE,
partial.auc=c(1, 0.8),partial.auc.focus="sp",
grid=c(0.1, 0.2),grid.col=c("green", "red"),
max.auc.polygon=TRUE,
auc.polygon.col="skyblue",
print.thres=TRUE, reuse.auc=FALSE)
part 2:ROCR包绘制ROC曲线
1.下载ROCR包并调用
BiocManager::install("ROCR")
library(ROCR)
2.调用ROCR的内置示例数据
data(ROCR.simple)
df <- data.frame(ROCR.simple)
3.查看数据前六行
head(df)
4.performance函数计算tpr,fpr
pred<-prediction(df$predictions, df$labels)
perf<- performance(pred,"tpr","fpr")
perf
plot(perf,colorize=TRUE)