TCGA

Cox比例风险回归模型临床应用非常广泛,Cox分析得到的结果是可以直接运用到临床应用的,所以这个分析对癌症临床诊断有非常关键的作用,检测高低风险的关键基因,就可以预测病人5年生存率。

Cox比例风险回归模型,简称Cox回归模型。该模型又英国统计学家D.R.Cox于1972年提出,主要用于肿瘤和其他慢性病的预后分析,也可用于队列研究的病因探索。Cox回归模型能处理多个因素对生存时间影响的问题。

这里用到的癌症是:宫颈鳞状细胞癌CESC(临床307个样本,基因表达有304个样本)

1.TCGA数据库下载宫颈鳞状细胞癌数据

首先需要合并差异基因得到的表达量和临床信息

这个步骤非常重要,也是让很多人感觉麻烦的地方,TCGA数据库样本量大,一个重要的癌症样本300-500个,临床信息又是独立存在,这里用到的是总生存时间和生存状态,得到一个行名是样本,列名包括总生存时间、生存状态、以及所有差异基因,对应的数据是差异基因的表达量,当然这个表达量是处理过的,不是TCGA下载下载下来的原始数据。

如果还没有得到生存时间、生存状态的文件,也没有得到差异基因的表达量,那就要先做差异分析,提取生存时间。简单回顾一下,提取生存时间会用到TCGA数据库下载的metadata.txt文件,这个文件大家很熟悉,可以直接在TCGA数据库下载的;差异分析涉及的内容就比较多,首先要从TCGA数据库下载基因表达数据,然后用perl脚本合并所有样本的表达矩阵,得到矩阵之后,要对ID进行转换,TCGA数据库用的是ensmbol ID,需要转换gene symobl,得到gene symobl的矩阵之后,就可以做差异分析,做了差异分析,就可以接着我们上面的合并工作了。
TCGA临床数据于表达数据合并

2.单因素Cox分析

有了生存时间和表达量合并的文件,就可以做单因素Cox分析,直接用我们的R做分析,得到这样一个表格文件。
单因素cox分析

3.提取单因素P值

Cox单因素分析得到了单个基因的风险比和P值,可以筛选P值一个标准的基因,拿到这些基因,然后把这些基因的表达量筛选出来,还有样本的生存时间和生存状态,放在一个文件里面,用来做这些基因的多因素分析,当然了,筛选的基因不要多,控制在20个左右。简单点说,就是筛选这20个左右基因如同步骤一的文件。

4.多因素Cox分析

利用上面得到的关键基因的表达量做多因素分析,方法和单因素的差不多,只是这时用到了所有基因,而单因素是对每个基因做分析,多因素是用这些关键基因一起分析。可以得到风险值和高低风险分类。
风险表格

5.绘制生存曲线、ROC曲线

用到的都是上面多因素分析得到的数据,用所有样本的风险比例,生存时间,就可以做生存曲线,ROC曲线。风险生存曲线
ROC曲线

6.高低风险热图绘制

这里需要用到两个数据,一个是Cox多因素分析得到的基因,这个是根据Cox公式计算得到的,这里我们得到了7个,提取这7个基因的表达量,还有这7个基因在高低风险的分类,就可以绘制一张热图,热图从左到右的样本是风险分值以此从低到高的。
R语言实例练习:
单因素回归分析:

library("survival")
#install.packages('survminer')
library("survminer")
data("lung")
#Surv()函数创建生存数据对象(主要输入生存时间和状态逻辑值),再用survfit()函数对生存数据对象拟合生存函数#Surv:用于创建生存数据对象
#survfit:创建KM生存曲线或是Cox调整生存曲线
fit <- survfit(Surv(time, status) ~ sex, data = lung)
#survdiff:用于不同组的统计检验
survdiff(Surv(time, status) ~ sex, data = lung)
#三种作图方法:
plot(fit)
ggsurvplot(fit,pval = TRUE, conf.int = TRUE,risk.table = TRUE, # Add risk tablerisk.table.col = "strata", # Change risk table color by groupslinetype = "strata", # Change line type by groupssurv.median.line = "hv", # Specify median survivalggtheme = theme_bw(), # Change ggplot2 themepalette = c("#E7B800", "#2E9FDF")
)
plot(fit,xlab="Time(Days)",ylab="Survival",main="title",col=c("blue","red"),lty=2,lwd=2)
legend("topright",c("A","B"),col=c("blue","red"),lty=2,lwd=2,cex=0.7)

第一个作图语句输出:

Cox回归分析:

library("survival")
library("survminer")
#Cox模型主要用到的是coxph()函数,但需要先用Surv()函数产生一个生存对象;
#另外coxph()函数支持的方法有:exact,breslow以及exact,默认是exact
data("lung")
# res.cox <- coxph(Surv(time, status) ~ sex, data = lung)
# summary(res.cox)
#coef就是公式中的回归系数b(有时也叫做beta值)
#因此exp(coef)则是Cox模型中最主要的概念风险比(HR-hazard ratio)
# HR = 1: No effect
# HR < 1: Reduction in the hazard
# HR > 1: Increase in Hazard
# 在癌症研究中:
# hazard ratio > 1 is called bad prognostic factor
# hazard ratio < 1 is called good prognostic factor
res.cox <- coxph(Surv(time, status) ~ age + sex + ph.ecog, data =  lung)
summary(res.cox)
# Create the new data
sex_df <- with(lung,data.frame(sex = c(1, 2), age = rep(mean(age, na.rm = TRUE), 2),ph.ecog = c(1, 1))
)
fit <- survfit(res.cox, newdata = sex_df)
ggsurvplot(fit, data = sex_df, conf.int = TRUE, legend.labs=c("Sex=1", "Sex=2"),ggtheme = theme_minimal())

Cox比例风险回归模型单因素多因素生存分析相关推荐

  1. python数据分析案例-利用生存分析Kaplan-Meier法与COX比例风险回归模型进行客户流失分析与剩余价值预测

    目录 1. 概述 1.1 背景 1.2 目的 1.3 数据说明 2. 相关概念 2.1 事件 2.2 生存时间 2.3 删失 2.4 生存概率 2.5 中位生存时间 2.6 风险概率 3. 数据处理 ...

  2. COX 比例风险回归模型--有感

    生存分析 三大块内容: 1,描述性的 生存率.中位生存期.生存曲线等,常用Kaplan-meier法 2,比较分析 两组的生存曲线是否有差别,log-rank检验(单个因素) 3,cox比例风险回归 ...

  3. 其他算法-比例风险回归模型

    比例风险回归模型(Proportional hazards model),又称为Cox模型(一种半参数模型),模型用于描述不随时间变化的多个特征对于在某一时刻死亡率的影响,Cox模型是生存分析中的一个 ...

  4. r语言 svycoxph_R语言-Cox比例风险模型

    Cox比例风险模型(cox proportional-hazards model),简称Cox模型 是由英国统计学家D.R.Cox(1972)年提出的一种半参数回归模型.该模型以生存结局和生存时间为应 ...

  5. Cox 比例风险模型中HR和置信区间

    Cox 回归是一种用于生存分析的统计模型,它可以用来估计某个因素对生存时间的影响.Cox 回归基于 Cox 比例风险模型,该模型假设风险比率是常数,即不随时间变化.在 Cox 回归中,我们使用最大似然 ...

  6. R语言生存分析之COX比例风险模型构建及列线图(nomogram)、校准曲线(calibration curve)绘制示例

    R语言生存分析之COX比例风险模型构建及列线图(nomogram).校准曲线(calibration curve)绘制示例 列线图(Alignment Diagram),又称诺莫图(Nomogram图 ...

  7. R语言使用broom包将回归模型(线性回归、逻辑回归、比例风险回归)的结果整理成dataframe并导出到excel等文件中:基于mtcars和colon数据集

    R语言使用broom包将回归模型(线性回归.逻辑回归.比例风险回归)的结果整理成dataframe并导出到excel等文件中:基于mtcars和colon数据集 目录

  8. cox风险回归模型参数估计_信用风险管理:分类模型和超参数调整

    cox风险回归模型参数估计 The final part aims to walk you through the process of applying different classificati ...

  9. R语言生存分析详解:KM曲线、COX比例风险模型、HR值解读、模型比较、残差分析、是否比例风险验证:基于survival包lung数据集

    R语言生存分析详解:KM曲线.COX比例风险模型.HR值解读.模型比较.残差分析.是否比例风险验证:基于survival包lung数据集 目录

  10. 【实战】——基于机器学习回归模型对广州二手房价格进行分析及模型评估

    目录 1.数据导入 2.数据清洗 2.1.变量选取 2.2.空值处理 2.3.类型转化 2.4.数据再处理 3.机器学习sklearn的实现 3.1.训练集和测试集的拆分 3.2.数据的标准化 3.3 ...

最新文章

  1. Android 高级Drawable资源---复合Drawable----状态列表Drawable
  2. 信息安全系统设计基础_exp1
  3. .html()和.text()及.val()的区别
  4. (转)检测不到兼容的键盘驱动程序
  5. 武汉月薪1万5,感到焦虑怎么办?
  6. win7+vs2008+windows mobile6.5.3
  7. 有效提升 Virtual Server 2005 R2 with SP1 的速度
  8. Oracle数户库、表导入导出
  9. Zend Studio 10 phpFormatter 错误的解决
  10. java fileutils api_FileUtils API
  11. 产品读书《交互设计沉思录》
  12. SSD:单点多边界框探测器
  13. Vue仿支付宝首页(更多)添加、删除、拖拽、点击等功能
  14. cypress——前端自动化测试框架
  15. hrbp 牵着鼻子走_8招让你不再被职场牵着鼻子走
  16. 数云融合丨知识图谱在烟草零售数字化转型中的应用
  17. 加速度传感器的计步算法Pedometer
  18. scrapy-selenium-谷歌浏览器爬取带有时效性cookies的网站
  19. RSA no_padding加密(modulus、exponent构造公钥)
  20. 有各组方差怎么算组间平方和_方差分析中组内离差平方和,组间离差平方和的意义...

热门文章

  1. java解析本地wsdl_关于解析本地wsdl文件
  2. Solidity 教程系列2 - 地址类型介绍
  3. MySQL经典书籍推荐
  4. macOS Monterey 12.0 Beta5 (21A5304g) 虚拟机 ISO 镜像
  5. 从零实现 SPI_flash(W25Q256)
  6. ibm336服务器显示brd,ibmx3850x5服务器故障BRD报警|升级主板微码
  7. liunx版pgadmin3 source code安装
  8. 验票系统认证服务器地址,北京增值税发票勾选认证(选择确认)平台入口
  9. STM8S103之串口查询发送+中断发送
  10. ArcGis 拓扑检查——狭长角锐角代码C#