R可视化收入即学习

基于R绘制好看的生存曲线

2020-07-24  本文已影响0人  TrigoHoang

基于R绘制好看的生存曲线

生存分析基本概念

对生存资料进行统计分析的方法都统称为生存分析(survival anaysis),生存分析是能将事件的发展结局(如病人死亡,肿瘤复发或转移等)以及其结局所发生的时间等俩个因素综合一起分析的方法(time to event)。

目前在生信分析中,同好们经常需要用到自己找到markers结合临床分析去观测该基因对临床病人的预后情况。此篇推文是基于log-Rank检验的生存分析的图形绘制

代码分享

以survival里封装的lung数据集为例子画图

rm(list=ls())
#载入生存分析常用的包
library('survival')
library('survminer')
########因为R里的lung数据框很多,
########有的时候出来的lung不是survival封装的,重启再查看即可
data("lung") 
view(lung)

因为R里的lung数据框很多,有的时候,它出来的时候不是survival封装的,需要重启再查看,如下是lung数据框:

UvSVLd.png
#查看一下lung中各列代表了什么
??lung

UvSEsH.png

大致了解了一下 time是生存时间,status是生存状态,age年龄,sex性别,ph.ecog是ECOG分数,ph.karno是Karnofsky分数,meal.cal是每顿消耗的卡路里,wt.loss是最近六个月消耗的体重


#尝试对性别进行生存分析,看一下男女性别生存是否有差别
attach(lung)
fit <- survfit(Surv(time, status) ~ sex)
#查看一下生存分析的详细的结果
summary(fit)

UvSFzD.png

UvSAQe.png

简单画一下图

plot(fit)

UvSPJK.png

太简陋了,俩线也不知道代表什么,也没有相关P值注释,运用基础包注释一下

plot(fit, lty = c(2,1), col = c(2,1))
legend('bottomright', legend = c('Male','Female'), lty = c(2,1), col = c(2,1))

UvSeeA.png

也还是一般,为了让图秀起来,可以运用封装了ggplot的survminer包

ggsurvplot(fit, data = lung,
           pval = T, # 在图上添加log rank检验的p值
           conf.int = T,# 添加置信区间
           risk.table = T, # 在图下方添加风险表
           legend.labs=c("Male","Female"), #表头标签注释男女
           legend.title="strata",#表头标签
           title="Overall survival",#改一下整体名称
           ylab="Cumulative survival (percentage)",xlab = " Time (Days)",#修改X轴Y轴名称
           risk.table.col = "strata", # 风险表加颜色
           linetype = "strata", # 生存曲线的线型
           surv.median.line = "hv", # 标注出中位生存时间
           ggtheme = theme_bw(), #背景布局
           palette = c("red", "blue")) # 图形颜色风格

这样就绘制了好看有颜值的生存曲线

UvSmdI.png
上一篇下一篇

猜你喜欢

热点阅读