用R语言进行KM生存分析

欢迎关注”生信修炼手册”!

R是数据分析常用的软件之一,通过各种功能强大的R包,可以简单方便的实现各种分析。在R语言中,能够进行生存分析的R包很多,survival和survminer是其中最基本的两个,survival负责分析,survimner负责可视化,二者相结合,可以轻松实现生存分析。具体过程如下

1. 准备生存数据

对于每个个体而言,其生存数据会出现两种情况,第一种是观测到生存时间,通常用1表示,第二种则是删失。通常用0表示。survival自带了一个测试数据lung, 内容如下所示

每一行代表一个样本,time表示生存时间,status表示删失情况,这里只有1和2两种取值,默认排序后的第一个level对应的值为删失,这里则为1表示删失。其他列为样本对应的性别,年龄等基本信息。

2. 进行生存分析

这里根据性别这个二分类变量,采用KM算法来估计生存曲线,代码如下

fit中提取结果构成了d这个数据框,可以看到已经包含了每个时间点的生存概率,删失等信息,通过这些信息,完全可以自己写代码来画图。为了方便,我们直接采用survminer中的函数来进行可视化。

3. 分析结果的可视化

最基本的可视化方式如下

library("survminer")
ggsurvplot(fit)

效果图如下所示

两条不同颜色的折线代表不用性别的生存曲线。对于两组生存数据,通常都需要比较二者之间是否具有差异,最常用的算法是log-rank test。survminer在可视化结果时,也支持进行差异检验,并将对应的p值标记在图上,代码如下

ggsurvplot(fit, pval = TRUE)

效果图如下

上图中的p值小于0.05,说明不同性别的生存曲线存在显著差异。除了这些基本功能外,该函数还有多个参数,可以灵活的展示结果,比如添加置信区间,代码如下

ggsurvplot(fit, pval = TRUE, conf.int = TRUE)

效果图如下

也支持标记生存时间的中位数,代码如下

ggsurvplot(fit, pval = TRUE, conf.int = TRUE, surv.median.line = "hv")

效果图如下

该函数还有非常多的参数,可以非常个性化的调整可视化结果,更加详细的参数用法请参考官方的帮助文档。

·end·

—如果喜欢,快分享给你的朋友们吧—

扫描关注微信号,更多精彩内容等着你!

  • 5
    点赞
  • 92
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值