前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R 基因表达量与生存分析

R 基因表达量与生存分析

原创
作者头像
用户8370880
修改2022-03-17 19:00:30
2.4K0
修改2022-03-17 19:00:30
举报
文章被收录于专栏:R记录

参考:

Survival Analysis Basics - Easy Guides - Wiki - STHDA

Facet Survival Curves into Multiple Panels — ggsurvplot_facet • survminer (datanovia.com)

获得数据 ——处理数据——出图

包:

代码语言:javascript
复制
library(survival)
library(survminer)
library(tidyverse)

必须要有的数据:

  • status:病人状态,death 记为1,living 记为2,必须是 logical or numeric向量,不能是chr向量
  • time:病人患病到现在的累积天数,如果死亡就累积到死亡那天的天数

以下数据根据实际情况准备

  • Type:癌症分型,必须是factor
  • Gene:gene表达量,我用的是转录组数据,log(tpm+1)
  • Group : 自定义阈值判断表达量的高低,必须是factor

选择你感兴趣的事件,比如A基因表达量高低,Dex的给药浓度,化疗时间长短

这里准备数据的目的:看A基因表达高低对病人生存情况的影响,以及在乳腺癌不同亚型的生存情况

数据类型

代码语言:javascript
复制
str(sur_em2)
'data.frame':	489 obs. of  6 variables:
 $ Patient_ID: chr  "TCGA-EW-A1P7" "TCGA-A2-A3XT" "TCGA-A7-A26I" "TCGA-AN-A0FX" ...
 $ status    : num  2 2 2 2 2 2 2 2 2 2 ...
 $ time      : int  915 2770 661 10 608 2048 488 224 760 21 ...
 $ Type      : Factor w/ 4 levels "LumA","LumB",..: 4 4 4 4 4 4 4 4 4 4 ...
 $ Gene      : num  4.7 4.19 3.59 4.24 4 ...
 $ Group     : Factor w/ 2 levels "High","Low": 1 NA NA NA NA 1 1 2 2 1 ...
代码语言:javascript
复制
attach(sur_em2)#绑定数据集
fit <- survfit(Surv(time,status) ~ Group,  # 创建生存对象 
               data = sur_em2) # 数据集来源
ggsurvplot(fit, data = sur_em2)#画图
纵坐标存活概率,横坐标存活天数
纵坐标存活概率,横坐标存活天数

考虑多个因素

代码语言:javascript
复制
fit2 <- survfit(Surv(time, status) ~ Group + Type,
                 data = sur_em2 )
                 
ggsurvplot_facet(fit2, sur_em2, facet.by = "Group",
                 palette = "jco", pval = TRUE)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档