当前位置:   article > 正文

list批量赋值_R语言_批量生存分析

row.names(cli)=gsub("(.*?)\\-(.*?)\\-(.*?)\\-.*", "\\1\\-\\2\\-\\3", row.nam

对TCGA数据进行差异基因分析后,如果也下载到了相应的临床数据,如有必要,可以绘制差异基因所对应的生存曲线。如果差异基因比较多,一个一个的提取数据绘制生存曲线费事、费力,结果也不肯定。所以,有没有懒省事的方法?如果能够实现批量绘制生存分析那就太好了。其实对于任何一个结果的得到,都需要自己的一些数据处理,数据处理的前体是你需要对数据分析的格式、目的或者概念有清晰的认识,这样才能做出符合要求的结果。本次批量生存分析前就需要数据处理:得到差异基因、生存资料和差异基因信息相匹配、差异基因表达信息相匹配、计算各个差异基因在样本中的均值,并根据均值进行分组为high和low组,最后才是批量生存分析。既让我能得出结果,说明这些代码是可行,如果你一次两次没有得出结果,建议一步一步操作。相信别人,更相信你自己。

  1. ##更改正确的工作路径(略)
  2. ##数据加载
  3. load("lung.RData")##加载生存资料信息
  4. load("TCGA_data_exp.RData")##加载表达矩阵及差异分析结果
  5. colnames(lung)##生存资料信息
  6. ##得到差异基因
  7. deg=tT[which(tT$FDR<0.01 & abs(tT$logFC)>5),]

######

  1. gene=deg$GENEs
  2. n=rownames(lung)
  3. gene_exp=exp[gene,n]##得到差异基因的表达数据并匹配到含有生存数据的数据框中
  4. gene_exp=data.frame(gene_exp)
  5. gene_exp=t(gene_exp)
  6. #rownames(gene_exp)=gsub(".","-",rownames(gene_exp))##不需要运行
  7. lung=data.frame(lung,gene_exp[match(rownames(lung),rownames(gene_exp)),])

##

  1. m=lung##
  2. ##计算每个基因在所有样本中的均值,赋值到数据框a中
  3. a <- apply(m[,3:46], 2, mean) #按列,求均值,12位genesymbol、geneid,后面的是每个基因表达数据
  4. a=data.frame(a)
  5. ##根据均值,将样本分为高低表达组,此处46需要根据自己的数据修改,或改成length(colnames(lung))
  6. for (i in 3:46) {
  7. n=colnames(lung)[i]
  8. lung[,n]=ifelse(lung[,n]>=a[n,],"high","low")
  9. }
  10. print(lung)

##colnames(lung)[16]="TRHDE-AS1调整用,不需运行

  1. ####批量生存曲线
  2. library(survival)
  3. library(survminer)
  4. ### 批量绘图
  5. vars=deg$GENEs
  6. for (i in vars){
  7. splots <- list()
  8. km_fit <- survfit(Surv(time,status)~lung[,i], data=lung)
  9. splots[[1]]<-ggsurvplot(km_fit,
  10. xlab = "Time_days",
  11. ylab="ROS",##根据需要调整
  12. pval = T,
  13. conf.int= F,
  14. risk.table = T,
  15. legend.title = i,
  16. legend.labs = levels(lung[[i]]),##
  17. #surv.median.line = "hv",# 中位生存
  18. palette="lancet")
  19. ## width=6.95,height=6.5
  20. res<-arrange_ggsurvplots(splots, print = F,
  21. ncol = 1, nrow = 1, risk.table.height = 0.25)
  22. ggsave(paste(i,"All_surv.pdf",sep = "_"), res,width=7,height = 6)
  23. }

7102bcc87bd226a0a23810994cb13e76.png

5b5e423c17f9451f160c23b5bb5954c9.png

学习的过程就是分享的过程,分享的过程也是交流的过程,交流的过程就是进步的过程。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/132211
推荐阅读
相关标签
  

闽ICP备14008679号