用R绘制经典风险三联图(适合新手入门)

本文介绍了如何在R语言中利用ggrisk包绘制和调整Cox回归的风险三联图,以可视化数据并解释模型。作者通过实例演示了如何安装包、处理数据、构建多因素模型,并展示了调整图例、颜色和标签等参数的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

虽然风险三联图用的不多,但怎么说呢,咱们并不是非要三个图都有,cox回归中看哪个更好解释数据,就用哪个吧,技多不压身

#本命令是用于绘制cox的风险三联图
install.packages("ggrisk")  #如果没有这个程序包的话,需要先下载
install.packages("survminer")
library(ggrisk)
library(survival)
library(survminer) #暂时没有用
Mydata<-read.csv(file.choose()) #打开我的数据
head(Mydata)
View(Mydata)
# 本案例中随机选取使用四个因素构建多因素cox回归模型
library(rms)
library(Hmisc)
fit <- cph(Surv(time, status) ~ A+ B +C+D,data=Mydata) #cph函数来自rms包
par(mgp=c(1.6,0.6,0),mar=c(5,5,5,1))     ##设置画布的命令,用处似乎不大
ggrisk(fit, cutoff.value = "median", 
       cutoff.x = 145, cutoff.y = -0.8)#风险因子联动图绘制完成


#但cutoff的位置不对,显示不全,需要调整下
#调整风险得分的cutoff以及位置的命令
ggrisk(fit,cutoff.value='cutoff',#可选‘median’, ’roc’ or ’cutoff’
       cutoff.x = 70,  # “cutoff”文本的水平位置,50是自己改的数字
       cutoff.y = -1) # “cutoff”文本的垂直位置
#调整其他参数设置,包括颜色/标签/图例等绘图元素的修改
ggrisk(fit,
       code.highrisk = 'High Risk',#高风险标签,默认为 ’High’
       code.lowrisk = 'Low Risk', #低风险标签,默认为 ’Low’
       title.A.ylab='Risk Score', #A图 y轴名称
       title.B.ylab='Survival Time(year)', #B图 y轴名称,注意区分year month day
       title.A.legend='Risk Group', #A图图例名称
       title.B.legend='Status',     #B图图例名称
       title.C.legend='Expression', #C图图例名称
       relative_heights=c(0.15,0.15,0.015,0.20), #A、B、热图注释和热图C的相对高度    
       color.A=c(low='green',high='red'),#A图中点的颜色
       color.B=c(code.0='green',code.1='red'), #B图中点的颜色
       color.C=c(low='green',median='white',high='red'), #C图中热图颜色
       vjust.A.ylab=1, #A图中y轴标签到y坐标轴的距离,默认是1
       vjust.B.ylab=2,#B图中y轴标签到y坐标轴的距离,默认是2
)
#热图中指定某几个因素展示,
ggrisk(fit, heatmap.genes = c("C", "D", "A"))
#只展示前面两个图图,不展示热图
two_scatter(fit, cutoff.value = "median"
            , cutoff.x = 142, cutoff.y = -0.5)
#嫌展示两个图后,图片不大好看,再来修改下剩下两个图的一些特征
two_scatter(fit,
            code.highrisk = 'High Risk',#高风险标签,默认为 ’High’
            code.lowrisk = 'Low Risk', #低风险标签,默认为 ’Low’
            title.A.ylab='Risk Score', #A图 y轴名称
            title.B.ylab='Survival Time(year)', #B图 y轴名称,注意区分year month day
            title.A.legend='Risk Group', #A图图例名称
            title.B.legend='Status',     #B图图例名称
            color.A=c(low='green',high='red'),#A图中点的颜色
            color.B=c(code.0='green',code.1='red'), #B图中点的颜色
            vjust.A.ylab=1, #A图中y轴标签到y坐标轴的距离,默认是1
            vjust.B.ylab=2#B图中y轴标签到y坐标轴的距离,默认是2
)

补充说明下:我的数据是模拟训练数据用,实际操作中可能会困难重重,但一步一步来,先了解这个风险三联图和基本的命令,也有助于对R的认识。

我自己随便凑的一些数据,也没有检验,应该是不太符合常规检验操作的,拿来练手还是行的

画出来的图还凑合,但具体怎么解释还是欠缺的  我得多看看文献

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值