上次介绍了如何绘制一个好看的生存曲线:https://blog.csdn.net/weixin_46500027/article/details/123245980?spm=1001.2014.3001.5501。
但有的时候我们会发现,单因素cox回归某个自变量对生存有意义,当绘制生存曲线的时候,确变得没意义了,比如下面这一组数据:
我们先进行一下单因素cox回归,代码如下:
setwd("C:\\Users\\ASUS\\Desktop\\KIRP与坏死性凋亡")
dir()
data <- read.csv("survival.csv",header = T,sep = ",")
head(data)
library(coin)
cox <- coxph(Surv(OS.time, OS) ~ RBCK1, data)
summary(cox)
可以看到P值是有意义的,但是当我们以中位值做生存曲线时,算出来P值就没意义了:
data$RBCK1 <- ifelse(data$RBCK1>median(data$RBCK1),"High RBCK1 expression","Low RBCK1 expression")
cox <- coxph(Surv(OS.time, OS) ~ RBCK1, data)
summary(cox)
生存曲线也是看不出差异:
这是因为中位值并不是这个基因最合适的截断值,因此,我们需要选择最合适的截断值。
选择截断值的软件目前比较火比较方便的便是x-tile软件,pubmed上也有类似的文章介绍:https://pubmed.ncbi.nlm.nih.gov/15534099/
下一期我们将详细介绍此软件如何使用。
我们使用此软件确定了基因RBCK1的最适cut-off值为7.0,根据7.0,我们将数据分为高地表达组,再次使用单因素cox回归分析,代码如下:
data$RBCK1 <- ifelse(data$RBCK1>7.0,"High RBCK1 expression","Low RBCK1 expression")
cox <- coxph(Surv(OS.time, OS) ~ RBCK1, data)
summary(cox)
可以看到,单因素cox回归有意义了,这也就意味着生存曲线也有意义:
因此,选择最适的cutoff值是很有必要的。关于生存曲线如何绘制,可以查看我们的另一期教程:
https://blog.csdn.net/weixin_46500027/article/details/123245980?spm=1001.2014.3001.5501
下一期将介绍x-tile如何使用!!!!!
另外,TCGA的数据已经上传到资源,已经进行id转换,标准化及logCPM,logTPM等处理,包含已经整理好的完整临床资料,大家要做生信分析可以直接到我的资源下载,直接可以进行后续生信分析,免除数据准备的各种麻烦。