数据-R语言-图表-决策-Linux-PythonR. python新手日记Bioconductor for R

生存分析①R语言

2018-10-29  本文已影响111人  柳叶刀与小鼠标

生存分析(Survival analysis)是指根据试验或调查得到的数据对生物或人的生存时间进行分析和推断,研究生存时间和结局与众多影响因素间关系及其程度大小的方法,也称生存率分析或存活率分析。

生存分析适合于处理时间-事件数据,生存时间(survival time)是指从某起点事件开始到被观测对象出现终点事件所经历的时间,如从疾病的“确诊”到“死亡”。
生存时间有两种类型:完全数据(complete data)指被观测对象从观察起点到出现终点事件所经历的时间;截尾数据(consored data)或删失数据,指在出现终点事件前,被观测对象的观测过程终止了。由于被观测对象所提供的信息是不完全的,只知道他们的生存事件超过了截尾时间。截尾主要由于失访、退出和终止产生。
生存分析方法大体上可分为三类:非参数法、半参数方法和参数法,用Kaplan-Meier曲线(也称乘积极限法Product limit method)和寿命表法(Life table method)估计生存率和中位生存时间等是非参数的方法,半参数方法指Cox比例风险模型,参数方法指指数模型、Weibull模型、Gompertz模型等分析方法。

示例:

使用一个包含免疫浸润以及复发随访记录的数据,探究该免疫指标具有无复发生存意义

setwd("E:\\multi")

imm_info <- read.csv("blca_immu.csv",header = T,row.names = 1)


library(survival)
library(survminer)
library(dplyr)
require("survival")

imm_info <- imm_info %>%
  dplyr::select(Lymphocyte_Infiltration_Signature.Score,PFI,PFI.Time)
names(imm_info)[1] <- 'infiltra'

整理数据,将代表复发时间,复发状态,以及想预测免疫指标提取出来。



imm_info <- na.omit( imm_info)
imm_info$infiltra <- ifelse(imm_info$infiltra   > median(imm_info[,"infiltra"]),
                         'high','low')

fit <- survfit(Surv(PFI.Time, PFI) ~ infiltra, data = imm_info)

将免疫指标二分类,以中位值为cutoff,将数据分为高表达和低表达


ggsurv <- ggsurvplot(fit, data = imm_info,
                     pval = T,
                     xlim = c(0,2000),  
                     break.time.by = 500,  
                     xlab = "Time in days",
                     palette = c("#E41A1C", "#377EB8"))

ggsurv <- ggpar( ggsurv,
                 font.y  = c(16, "bold"), 
                 font.x  = c(16, "bold"),
                 legend = "top",
                 font.legend = c(16, "bold"))

ggsurv

作图。


上一篇下一篇

猜你喜欢

热点阅读