虽然风险三联图用的不多,但怎么说呢,咱们并不是非要三个图都有,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的认识。
我自己随便凑的一些数据,也没有检验,应该是不太符合常规检验操作的,拿来练手还是行的
画出来的图还凑合,但具体怎么解释还是欠缺的 我得多看看文献