导语
GUIDE ╲
风险图是肿瘤遗传数据分析中最常用的图形之一。
方法介绍
风险图的应用主要有两方面,将模型的预测结果与真实生存情况进行比较,高危组的生存率是否低于低危组,高危组的生存时间是否小于低危组。另一种是比较热图和散点图,看预测因素和结果之间的相关性。今天就来给大家介绍一个绘制风险图的R包ggrisk
R包介绍
01
ggrisk绘制cox回归风险Score
(1)
head(LIRI) #使用数据
fit <- cph(Surv(time,status)~ANLN+CENPA+GPR182+BCO2,LIRI)
#cph构建比例风险模型
#(使用ANLN、CENPA、GPR182和BCO2这四个基因的表达值构建)
#绘图
ggrisk(fit,
cutoff.value='median',
#cutoff.value用来划分高低风险组
#cutoff.value,可用‘median’, ’roc’ or ’cutoff’
cutoff.x = 145, #“cutoff”文本的水平位置
cutoff.y = -0.8 #“cutoff”文本的垂直位置
)
输出图形:
A: 样本的风险Score分布(根据中值分组)
B:样本的生存时间分布
C:样本对应的四个基因表达值
(2)减少热图基因展示
#只展示3个基因
ggrisk(fit, heatmap.genes=c('GPR182','CENPA','BCO2'))
02
调整图中各成分大小
ggrisk(fit,
cutoff.value='median',
cutoff.x = 145,
cutoff.y = -0.8,
code.0 = 'Still Alive', #事件“0”,默认为Alive
code.1 = 'Already Dead', #事件“1”,默认为Dead
code.highrisk = 'High Risk',#高风险的风险评分
code.lowrisk = 'Low Risk', #低风险的风险评分
title.A.ylab='Risk Score', #表A的y轴名称
title.B.ylab='Survival Time(year)', #表B的y轴名称
title.A.legend='Risk Group', #图A的图例名称
title.B.legend='Status', #图B的图例名称
title.C.legend='Expression', #图C的图例名称
size.ABC=1.5, #A,B,C三个字母的大小
size.ylab.title=12, #y轴名称的大小
size.Atext=11, #图A的y轴坐标刻度对应数字大小
size.Btext=11, #图B的y轴坐标刻度对应数字大小
size.Ctext=11, #图C的y轴坐标刻度对应数字大小
size.yticks=0.5,#y轴坐标刻度c粗细
size.yline=0.5, #y轴线的粗细
size.points=2, #点的大小
size.dashline=1,#虚线的粗细
size.cutoff=5, #“cutoff”文本的大小
size.legendtitle=13, #图例标题的文字大小
size.legendtext=12, #图例文字大小
family='sans', #m默认'sans'
expand.x=3, #x轴扩增
relative_heights=c(0.1,0.1,0.01,0.15)
#图A、B、彩色边条和热图的相对高度
)
03
调整颜色
ggrisk(fit,
cutoff.value='median',
cutoff.x = 145,
cutoff.y = -0.8,
code.0 = 'Still Alive',
code.1 = 'Already Dead',
code.highrisk = 'High Risk',
code.lowrisk = 'Low Risk',
title.A.ylab='Risk Score',
title.B.ylab='Survival Time(year)',
title.A.legend='Risk Group',
title.B.legend='Status',
title.C.legend='Expression',
color.A=c(low='pink',high='yellow'),#A图中点的颜色
color.B=c(code.0='green',code.1='darkred'), #B图中点的颜色
color.C=c(low='purple',median='white',high='orange') #C图中热图颜色
)
04
调整坐标轴标签位置
ggrisk(fit,
cutoff.value='median',
cutoff.x = 145,
cutoff.y = -0.8,
code.0 = 'Still Alive',
code.1 = 'Already Dead',
code.highrisk = 'High Risk',
code.lowrisk = 'Low Risk',
title.A.ylab='Risk Score',
title.B.ylab='Survival Time(year)',
title.A.legend='Risk Group',
title.B.legend='Status',
title.C.legend='Expression',
color.A=c(low='blue',high='red'),
color.B=c(code.0='blue',code.1='red'),
color.C=c(low='blue',median='white',high='red'),
vjust.A.ylab=1, #图A中的y轴标签到坐标轴的距离,默认是1
vjust.B.ylab=2 #图B中的y轴标签到坐标轴的距离,默认是2
)
05
只展示cox回归的两个散点图
(1)
two_scatter(fit,
cutoff.value = 'median',
cutoff.x = 142,
cutoff.y = -0.5)
(2)
two_scatter(fit,
cutoff.value = 'median',
cutoff.x = 142,
cutoff.y = -0.5,
code.0 = 'Still Alive',
code.1 = 'Dead',
code.highrisk = 'High Group',
code.lowrisk = 'Low Group',
title.A.legend = 'Riskscore',
title.B.legend = 'Event Status',
title.A.ylab = 'Riskscore',
title.B.ylab = 'Survival Time(year)',
title.xlab = 'This is rank',
vjust.A.ylab = 1,
vjust.B.ylab = 3,
size.AB = 2,
size.ylab.title = 14,
size.xlab.title = 14,
size.Atext = 12,
size.Btext = 12,
size.xtext = 12,
size.xyticks = 0.5,
size.xyline = 0.5,
size.dashline = 1.5,
size.points = 1,
size.cutoff = 5,
size.legendtitle = 14,
size.legendtext = 13,
color.A = c(low='green',high='red'),
color.B = c(code.0='green',code.1='red'),
family = 'sans', # sans for Arail, serif for Times New Roman
expand.x=10)
小编总结
整体来看这个ggrisk包还是很容易操作的,大家调整一下点的粗细和颜色等就会画出很特别又高级的风险图。如果你的工作是构建基因特征,当然也可以是其他,下面的热图可以对你的特征进行展示,一个函数可以直接运行出3个图,真的是方便又划算呢~
END