TCGA_生存分析

library("survival")
library("survminer")

生存分析需要三个 vector,在一个dataframe中

  1. 生存时间,以mouths或者days作单位;
  2. 结局,"Dead"或者"Alive","Alive"是截尾数据,"Dead"是完全数据;
  3. 分组信息。

Age_old vs young

一、读入数据

data_cl <- read.csv(file = "Results/测序or临床数据下载/data_cl.csv", header=T, row.names=2,check.names=FALSE)
t_needed=c("vital_status","days_to_last_follow_up","days_to_death","age_at_index","tumor_grade")
meta=data_cl[,t_needed] #筛选需要的临床信息
meta=meta[meta$vital_status %in% c('Alive','Dead'),] #排除结局为"Not Reported"的Sample

View(data_cl)

data_cl$vital_status 中有两个为 Not Reported,需要排除

二、整理数据

1 计算生存时间

meta$days_to_last_follow_up[is.na(meta$days_to_last_follow_up)] = 0 #is.na()用于返回是否为缺失值
meta$days_to_death[is.na(meta$days_to_death)] = 0   
meta$days<-ifelse(meta$vital_status=='Alive',meta$days_to_last_follow_up,meta$days_to_death)meta$mouth=round(meta$days/30,2) #以month为单位,保留两位小数

2 添加age_group列(分组数据)

meta$age_group = ifelse(meta$age_at_index>median(meta$age_at_index),'old','young')

 三、分析

Surv() 函数输出带有截尾信息的生存时间数据

survfit() 函数根据生存时间数据分组信息,并基于”K-M法“输出拟合数据

survData = Surv(time = meta$mouth,                 #生存时间数据event = meta$vital_status=='Dead') #判断结局,完全数据/截尾数据KMfit <- survfit(survData ~ meta$age_group)  # ~ 后是指定的分组

head(survData)        有"+"为截尾数据

[1]  13.20+ 116.73   73.27+  50.57+  15.43+  23.67

survData[1:10,1:2]        survData有2个列维度,"status==0"为截尾数据

         time status
 [1,]  13.20      0
 [2,] 116.73      1
 [3,]  73.27      0
 [4,]  50.57      0
 [5,]  15.43      0
 [6,]  23.67      0
 [7,]  64.90      0
 [8,]  77.47      0
 [9,]  87.60      0
[10,]   3.23      0

四、拟合生存曲线

ggsurvplot()参数详细介绍

ggsurvplot(KMfit,                     #拟合对象data = meta,               #变量数据来源pval = TRUE,               #P值surv.median.line = "hv",   #中位生存时间线risk.table = TRUE,         #风险表xlab = "Follow up time(m)",  #x轴标签break.x.by = 10,          #x轴刻度间距#legend = c(0.8,0.75),     #图例位置#legend.title = "",        #图例标题#legend.labs = c("old", "young"),  #图例分组标签) 

 Gene Expression_high vs low

一、读入数据(临床数据+表达数据)

meta 中留下有结局的Sample;

exp 中合并重复的列名(一个Sample可能有多个组织样本,这里采用取平均的方式去重)

data_cl <- read.csv(file = "Results/测序or临床数据下载/data_cl.csv", header=T, row.names=2,check.names=FALSE)
t_needed=c("vital_status","days_to_last_follow_up","days_to_death","age_at_index","tumor_grade")
meta=data_cl[,t_needed] #筛选需要的临床信息
meta=meta[meta$vital_status %in% c('Alive','Dead'),] #排除结局为"Not Reported"的Sampleexp <- read.csv(file = "Results/测序or临床数据下载/dataFilt.csv", header=T, row.names=1,check.names=FALSE)
colnames(exp)=str_sub(colnames(exp),1,12)
colmeans=function(x){exp_m=as.matrix(x)exp_t=t(exp_m)exp_t=limma::avereps(exp_t)t(exp_t)
}
exp=colmeans(exp) #取平均去除重复列名的Sample

View(data_cl)

data_cl$vital_status 中有两个为 Not Reported,需要排除

二、整理数据

1 计算生存时间

meta$days_to_last_follow_up[is.na(meta$days_to_last_follow_up)] = 0 #is.na()用于返回是否为缺失值
meta$days_to_death[is.na(meta$days_to_death)] = 0   
meta$days<-ifelse(meta$vital_status=='Alive',meta$days_to_last_follow_up,meta$days_to_death)meta$mouth=round(meta$days/30,2) #以month为单位,保留两位小数

2 筛选meta中有表达信息的Sample

t_index = rownames(meta)[rownames(meta) %in% colnames(exp)]
meta=meta[t_index,]

三、分析,拟合生存曲线

1 确定基因和高低表达

Gene = "CHAC1"
meta$Expression_level = ifelse(exp[Gene,rownames(meta)]>median(exp[Gene,]),'high','low')

2 作图 

survData = Surv(time=meta$mouth, #月份数据event=meta$vital_status=='Dead') #判断哪些是截尾数据
KMfit <- survfit(survData ~ meta$Expression_level)  #~后指定分组ggsurvplot(KMfit, # 创建的拟合对象data = meta,  # 指定变量数据来源pval = TRUE, # 添加P值surv.median.line = "hv",  # 添加中位生存时间线risk.table = TRUE, # 添加风险表ncensor.plot = FALSE, #??图xlab = "Follow up time(m)", # 指定x轴标签break.x.by = 10, # 设置x轴刻度间距palette = c("#E7B800", "#2E9FDF"),#legend = c(0.8,0.75), # 指定图例位置legend.title = Gene, # 设置图例标题#legend.labs = c("old", "young"), # 指定图例分组标签
)  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/34495.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

癌症基因图谱( TCGA)数据库(一)数据下载

在TCGA数据库中检索并下载5 种不同类型癌症&#xff08;包括BRCA, BLCA, LGG, LUAD 和 LUSC&#xff09;病例的 RNA转录组RNA-seq数据。一共有3329个TCGA样本&#xff0c;每个样本中有六万多个基因。数据下载完成后&#xff0c;还是一堆文件夹&#xff0c;接下来需要使用Python…

TCGA各种肿瘤数据的20多种不同玩法/挖掘方法

肿瘤基因组图谱 (The Cancer Genome Atlas,TCGA) 计划是由美国国家癌症研究院(National Cancer Institute,NCI)和美国国家人类基因组研究所(National Human Genome Research Institute,NHGRI)于2006年联合启动的项目,目前共计研究33种癌症类型。 TCGA利用大规模测序为…

TCGA_临床数据下载_全面数据

TCGAbiolinks (三&#xff09;获取全面的临床数据 – 璃墨的小站 library(TCGAbiolinks) 一、基础数据下载 1 下载GDC文件 query <-GDCquery(project "TCGA-PRAD", data.category "Clinical", file.type "xml") 2 组合数据 #选择要…

使用cBioPortal查看TCGA肿瘤数据

欢迎关注”生信修炼手册”! cBioPortal整合了来自TCGA,CCLE以及几个独立的大型肿瘤研究项目的数据&#xff0c;构建了一个易于使用的网站&#xff0c;不需要有深厚的计算机功底&#xff0c;也可以通过该网站查询&#xff0c;分析&#xff0c;可视化肿瘤的相关结果。 针对该网站…

TCGA临床数据整理

TCGA临床数据的整理是一个基本的操作 我们选择临床数据在Data category 中选择clinical 最重要的在Data format 中一定要选择XML的]格式 选择自己研究的TCGA肿瘤类型&#xff0c;添加到cart里面下载数据 点击download 下载 cart的内容 保存你们自己喜欢的位置。下面一步是个…

TCGA数据库与肿瘤数据分析(参考后整理)

1.INTRODUCTION&#xff08;介绍&#xff09; 1.数据来源 GDC Legacy ArchiveGDC Harmonized database 2.barcode 2.Install.packages(包安装) 3.数据下载 我们以胆管癌数据为例进行展示 下载表达数据 #数据查询&#xff08;就像你在页面网站上点来点去&#xff09; query…

原画师为什么多数不到30就不做了?

相信有很多热爱美术得人都有一个成为原画师的梦想 进入自己喜欢的项目~跟大神在一起~不断发挥自己的想象力和创意~做出真正属于自己的游戏 每天都在干自己喜欢的事情 打机画画打机画画打机画画…… 但是,当自己的爱好成为了工作,真的有那么快乐吗? 真正受欢迎的游戏…

首批因AI失业的人出现-某游戏公司裁掉半数原画师

如今各种AI爆火&#xff0c;不可避免的的会与某些功能撞车职业发生冲突&#xff0c;每一次生产力的变革&#xff0c;在带来技术进步与更高效率的同时&#xff0c;也都无可避免的会带来一波失业浪潮&#xff0c;当下的人工智能浪潮自然也不例外。 现在&#xff0c;第一批因为AI…

Home Assistant 家庭智能中心

简介 Home Assistant 是一个基于Python 3开发的开源家庭自动化平台。可以跟踪和控制家庭中的所有设备&#xff0c;并实现自动化控制。 可以完美的运行在Raspberry Pi。 1.简单介绍&#xff0c;优势: 1完全本地化&#xff0c;不受服务器限制 2.支持设备广&#xff0c;全面打…

头像更改

开发工具与关键技术&#xff1a;VS2015&#xff0c;ASP.NET MVC撰写时间&#xff1a;2019年5月7日我们平时登录账号都会有头像&#xff0c;账号&#xff0c;密码这些&#xff0c;而账号和密码是最基本的东西&#xff0c;这里就说一下更改账户号&#xff0c;密码&#xff0c;头像…

PowerShell实现双屏连接模式切换、输入法切换、软件进程开启及关闭(Quicker和uTools)ps1脚本实现

背景 最近写了个PowerShell的ps1脚本&#xff0c;方便我实现电脑打游戏&#xff08;主要是战地2042&#xff09;和工作学习打代码模式的切换。 功能 实现两个模式的切换。 模式一&#xff1a;游戏模式 双屏连接方式&#xff1a;仅第二屏幕 输入法&#xff1a;英文(en-US) 软件Q…

【GPT4】微软 GPT-4 测试报告(3)GPT4 的编程能力

欢迎关注【youcans的GPT学习笔记】原创作品&#xff0c;火热更新中 微软 GPT-4 测试报告&#xff08;1&#xff09;总体介绍 微软 GPT-4 测试报告&#xff08;2&#xff09;多模态与跨学科能力 微软 GPT-4 测试报告&#xff08;3&#xff09;GPT4 的编程能力 【GPT4】微软 GPT-…

OpenAI的API key获取方法

在本篇文章中&#xff0c;我们将介绍如何获得OpenAI的API Secret Key。 输入账号 输入密码 右上角点击“Personal”,下拉中选择View API keys 左侧页面中&#xff0c;找到API Keys 点击 Create new secret key 生成成功&#xff0c;复制保存

【转】 Vitalik:去中心化的意涵

“去中心化”或许是区块链被提到过的最高频的一个词了&#xff0c;但这个词的定义也是最不清楚的。 想想这件事其实挺不可思议的。区块链消耗了计算机大量宝贵的哈希算力&#xff0c;正是为了保证网络的去中心化&#xff0c;但当人们彼此在争论某个代币或者某个区块链网络究竟…

什么是“中心化”和“去中心化”?区块链是怎么实现去中心化的?

图1 三类网络拓扑结构 所谓“中心化”和“去中心化”&#xff0c;最早是用来刻画网络拓扑结构的术语。1964年&#xff0c;美国兰德公司发布了一份关于分布式通信的报告&#xff0c;提出了三种网络结构&#xff08;如图1&#xff09;。其中&#xff0c;&#xff08;a&#xff09…

ICML征稿禁止使用大型语言模型,LeCun转发:中小型模型可以用吗?

编&#xff5c;昕朋 David源&#xff5c;新智元 AI顶会ICML征稿日在即&#xff0c;关于道德准则的新政策却引来网友不满&#xff01;规则要求作者不能使用大型语言模型&#xff0c;网友评论区刷屏询问&#xff1a;为什么&#xff1f; 昨天&#xff0c;国际机器学习会议&#xf…

科研训练成果

一、前期准备&#xff1a; 1.主要文献阅读 网址作用Readpaper文献管理工具【支持在线翻译等】arXiv事先上传论文&#xff0c;保护成果arXiv Xplorer基于Chatgpt的文献搜索,拓宽研究思路中国知网文献管理工具 arXiv发音同“archive” 二、实验中&#xff1a; 1.基础服务器知识…

Google、Intel、腾讯等大厂相继入局,RISC-V 终将彻改半导体行业!

【CSDN 编者按】开源的 RISC-V 架构&#xff0c;正成为不少大厂发力的新方向。近期&#xff0c;Google 在 RISC-V 峰会上表示&#xff0c;想要让 RISC-V 成为 Android 的 T1 级支持架构&#xff0c;让其地位与 ARM 处理器处于同一水平&#xff1b;去年&#xff0c;Intel 宣布投…

中国第一个 Apache 顶级开源项目的突围之路!

【CSDN 编者按】近些年开源大热&#xff0c;开源创业之风随之四起。作为近两年特别火的商业方向&#xff0c;开源创业者如何才能在一片红海中乘风破浪&#xff0c;在行业中占据一席之地&#xff1f;第一个由中国人主导贡献到 ASF 的顶级开源项目 Apache Kylin 做出了有效探索&a…

如何让AI为你所用?——ChatGPT的实际应用及训练技巧

ChatGPT&#xff1a;90%以上人都用不好的AI神器&#xff0c;通过本文让你超过90%的使用者 自从2022年11月30日ChatGPT横空出世&#xff0c;它已经在国内大火了两个多月。但是&#xff0c;无需为此感到焦虑&#xff0c;因为人类永远比AI更加强大。与大多数博主炒作的不同&#…