R 基因表达量与生存分析

2022-03-17 19:00:30 浏览数 (1)

参考:

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)

0 人点赞