TCGA+biomarker——生存曲线
2020-07-18 本文已影响0人
Clariom
生存曲线简介
1958年,Edward L. Kaplan 和Paul Meier也首次在临床研究中提出了生存曲线的概念,又被称作Kaplan-Meier曲线,通过将终点事件和出现这一终点所经历的时间结合起来进行统计分析,从而对各组患者的生存状况进行描述和比较。
生存曲线图解
image解释:这项研究旨在比较乳腺癌患者中AC→T治疗方案与TAC治疗方案的临床疗效,主要终点为患者的总生存率(OS)或无病生存率(DFS)。研究共纳入3298例乳腺癌患者,患者被随机分为AC→T或TAC组,用生存曲线对两组患者的生存状况进行了描述,生存曲线的横坐标代表随访时间,纵坐标一般代表的是生存率。从图上来看,两组患者的生存率分别为88.9%和88.188.9%,差异不大,且P值0.37,不具备统计学意义。说明AC→T方案与TAC方案疗效相当。
如何绘制生存曲线?
以下代码源自生信技能树公共号中“学徒带你7步3251行代码+300行注释完成TCGA数据库挖掘实战全文复现”这篇教程,提供有生存曲线的详细绘制步骤,成图很漂亮!在此基础代码上,可以灵活运用。
rm(list = ls())
options(stringsAsFactors = F)
#载入数据
KM.input<-read.csv(file = "KM.input.csv",header = T)
head(KM.input)
# X event time_year RiskScore risk_group
# 1 TCGA-A1-A0SE-01A-11R-A085-13 0 3.6191781 0.3686996 low
# 2 TCGA-A1-A0SH-01A-11R-A085-13 0 3.9369863 1.8872376 high
# 3 TCGA-A1-A0SJ-01A-11R-A085-13 0 1.1397260 0.9330429 low
# 4 TCGA-A1-A0SK-01A-12R-A085-13 1 2.6493151 0.5337272 low
# 5 TCGA-A1-A0SM-01A-11R-A085-13 0 0.6630137 3.0229704 high
# 6 TCGA-A1-A0SO-01A-22R-A085-13 0 2.3342466 0.8083318 low
# 数据包括岩本名称、生存时间、风险模型计算的每位患者风险值、根据风险值中位数分组信息
#进行KM生存分析
# install.packages("survival") #用于生存分析
# install.packages("survminer") #用于画图
library(survival)
library(survminer)
#1.计算生存曲线:survfit()
str(KM.input)
fit<-survfit(Surv(time_year,event) ~ risk_group, data=KM.input)
### ~risk_group 表示通过高低风险组来计算患者的生存率 如果是按照性别那就 ~sex(sex是你的变量名)
summary(fit) #展示更详细的结
#2.进行可视化
#使用的是ggsurvplot()这个函数 [in Survminer R package]
KMsurvival_plot<-ggsurvplot(fit,pval = TRUE, #show p-value of log-rank test,显示log-rank分析得到的P值
conf.int = FALSE, #添加置信区间
conf.int.style = "step", ### customize style of confidence intervals,改变置信区间的样子
risk.table = "abs_pct", ### absolute number and percentage at risk,这里以n(%)的形式展示risk table
risk.table.y.text.col = T,### colour risk table text annotations.
risk.table.y.text = FALSE,### show bars instead of names in text annotations in legend of risk table.不显示注释名字
xlab = "Time in years", ### customize X axis label.自定义x的标签为time in years
surv.median.line = "hv", #添加中位生存时间的线
ncensor.plot = FALSE, #我这里不显示删失的图,TRUE就显示
legend.labs =
c("high risk", "low risk"), ### 对legend的标签重新命名
palette = c("#E7B800", "#2E9FDF"), ### 自定义颜色
ggtheme = theme_light() #绘图主题
)
KMsurvival_plot
#3.生存曲线的总结,Kaplan-Meier life table: summary of survival curves
#这个更为详细
KMres.sum <- surv_summary(fit)
head(KMres.sum)
#4.查看统计学结果 Log-Rank test comparing survival curves: survdiff()
#The log-rank test is the most widely used method of comparing two or more survival curves.
#前面我们在画图中也可以直接看到P值
surv_diff <- survdiff(Surv(time_year, event) ~ risk_group, data = KM.input)
surv_diff #p-values<0.05 说明高低风险组的生存概率有显著差异
image.png
往期回顾
TCGA+biomarker——常见结果展示
TCGA+biomarker——Sample基线表
TCGA+biomarker——单因素Cox回归
TCGA+biomarker——多因素Cox回归
TCGA+biomarker——Cox回归森林图
TCGA+biomarker——Calibration curve
TCGA+biomarker——C-index
更多内容可关注公共号“YJY技能修炼”~~~