(生物信息学)R语言绘图初-中-高级——3-10分文章必备——ROC曲线(初级)
发布时间
阅读量:
阅读量

在生物信息学论文发表标准中,除了研究思路和前沿议题之外,图表质量同样不容忽视。本系列课程旨在为R语言绘图从初级到中级再到高级阶段的学习者打造一个扎实的技术基础,我们通过系统梳理大量文献资料,归纳常见图表类型及其应用场景,并提供实现绘图所需的完整R语言代码,同时辅以图表识别与解读的学习材料,帮助学习者提升科研写作能力
本专栏将向大家介绍的图片绘制如下:
1. 散点图
2. 箱线图
3.条形图
4.正负条形图
5.区组条形图
6.小提琴图
7.热图
8.Venn图
9.生存曲线
10.森林图
11.TSNE
12.瀑布图
13.ROC曲线
14.点阵图
15.相关系数图
16.饼图
17.树形图
18.气泡图
19.火山图
20.点图
上次讲到瀑布图:
[生物信息学] R语言绘图初级、中级和高级技巧——掌握高分文章必备技能——瀑布图绘制(初级学习指南)_楷然教学工坊-博客

(生物信息学)基于R语言的图表绘制入门至中级——掌握核心必会技能——瀑布图绘制(作图基础)_楷然教你学生信的博客-博客
下面绘制一下ROC曲线,准备数据如下:

我们选定的评估指标为Riskscore,并对其在患者术后恢复情况预测中的表现进行考察。随后启动相应的分析程序进行ROC曲线绘制分析。具体步骤如下:首先导入并加载相关数据集:
setwd("D:\ ")
dir()
data <- read.csv("ROC曲线.csv",header = T,sep = ",")
head(data)
# > head(data)
# X OS.time OS Riskscore
#1 TCGA.MM.A563.01 591 0 6.468775
#2 TCGA.BP.4798.01 334 1 7.516541
#3 TCGA.A3.3320.01 1508 0 5.396439
#4 TCGA.A3.3323.01 1106 0 5.882916
#5 TCGA.A3.3326.01 1137 0 6.464537
#6 TCGA.A3.A6NJ.01 468 0 5.917690
AI助手
分析三年五年和七年的ROC:
library(survival)
library(coin)
library(survminer)
library(survivalROC)
head(data)
ROC7<- survivalROC(Stime=data$OS.time,
status=data$OS,
marker = data$riskscore,
predict.time =365*3, #1年生存率,也可改为3年生存率 365*3
method = "KM")
ROC7
ROC8<- survivalROC(Stime=data$OS.time,
status=data$OS,
marker = data$riskscore,
predict.time =365*5, #1年生存率,也可改为3年生存率 365*3
method = "KM")
ROC8
ROC9<- survivalROC(Stime=data$OS.time,
status=data$OS,
marker = data$riskscore,
predict.time =365*7, #1年生存率,也可改为3年生存率 365*3
method = "KM")
ROC9
ROC7$AUC;ROC8$AUC;ROC9$AUC
# > ROC7$AUC;ROC8$AUC;ROC9$AUC
# [1] 0.6429205
# [1] 0.628051
# [1] 0.5962137
AI助手
可以看到该riskscore对3年,5年和7年的精确度为0.64,0.62,0.59.
下面绘制ROC曲线:
plot(ROC7$FP, ROC7$TP, xlim=c(0,1), ylim=c(0,1),col="#0176bd",type = "l",
xlab="False positive rate",
ylab="True positive rate",main="Time-dependent ROC curve (KIRC cohort)")
lines(x=ROC8$FP,y=ROC8$TP, #补测试集
lwd=1,type="l",col="#bc1e5d") #曲线初始和终末可能重合,设置透明色
lines(x=ROC9$FP,y=ROC9$TP, #补测试集
lwd=1,type="l",col="#e8bb20")
legend("bottomright", bty="n", #添加图例
fill=c("#0176bd","#bc1e5d","#e8bb20"),legend = c("AUC(3year)=0.64",
"AUC(5year)=0.63",
"AUC(7year)=0.60"),
cex=.8, border=NA, y.intersp=1, x.intersp=0.2 )
abline(0,1)
AI助手
注意此处AUC的值是需要大家填写的:

图片如下:

全部评论 (0)
还没有任何评论哟~
