专栏首页生信修炼手册用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")

效果图如下

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

本文分享自微信公众号 - 生信修炼手册(gh_0146e37a8a70)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-06-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 使用PeakAnalyzer进行peak注释

    PeakAnalyzer是一款经典的peak注释软件,由PeakSplitter和PeakAnnotator两款工具构成,网址如下

    生信修炼手册
  • 使用TADbit识别拓扑关联结构域

    TADbit是一个hi-c数据分析的软件,提供了从原始数据处理到染色质三维模型构建的完整功能,对应的文章链接如下

    生信修炼手册
  • TSNAdb:肿瘤新抗原数据库

    TSNAdb是一个肿瘤特异性新抗原的数据库,从TCGA和TCIA数据库中收集了16种肿瘤共7748个肿瘤样本的体细胞突变和HLA alleles信息,然后分别使...

    生信修炼手册
  • 内含福利丨腾讯云安全专家 Killer 告诉你,企业上云怎么做更安全

    近年来,数据泄露事件频频发生,网络敲诈勒索也正在成为“黑产”掘金之道。一旦发生此类安全事件无论对用户还是企业来说都是巨大的损失。技术人其实应该可以把好第一道关...

    云鼎实验室
  • 基于结构化平均感知机的分词器Java实现

    最近高产似母猪,写了个基于AP的中文分词器,在Bakeoff-05的MSR语料上F值有96.11%。最重要的是,只训练了5个迭代;包含语料加载等IO操作在内,整...

    IT小白龙
  • 专访俞栋:多模态是迈向通用人工智能的重要方向

    随着语音识别、自然语言处理、计算机视觉等人工智能技术日益成熟,并逐渐落地到实际场景中,如何实现大规模应用落地或者说如何通往通用人工智能,越来越成为这些领域的研究...

    AI科技评论
  • Git管理项目实例说明-记录和跟踪项目

    假设一个HTML项目,使用Git来记录和跟踪这个项目,包括以下内容: 1)创建版本库。 2)添加与修改文件。 3)创建新分支。 4)打标签并整理版本库。 5)克...

    洗尽了浮华
  • 语音识别技术的相关知识

    语音识别技术,也被称为自动语音识别Automatic Speech Recognition,(ASR),其目标是将人类的语音中的词汇内容转换为计算机可读的输入,...

    用户5777378
  • git 中的退出

    链接:https://pan.baidu.com/s/1Zl7EEZY-kfMzSDGOeGgblw 提取码:ec35

    李才哥
  • Git详解及 github与gitlab使用

    1.1 关于版本控制 1.1.1 本地版本控制 本地版本控制系统 许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间以示区别。这么做唯...

    惨绿少年

扫码关注云+社区

领取腾讯云代金券