用R语言进行KM生存分析

网友投稿 1573 2022-11-25

用R语言进行KM生存分析

用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·

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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:使用Eagle2进行单倍型分析
下一篇:SpringBoot多数据源配置的全过程记录
相关文章

 发表评论

暂时没有评论,来抢沙发吧~