数据库代码公开:单基因单肿瘤km生存分析

作者:半步博导 时间:2024年6月29日 21:33 阅读量:66


#以MKI67为例
geneName = "MKI67"
#以LUAD为例
CancerName = "LUAD"
#最佳cutoff计算分组时,最低比例需为0.3
minprop = 0.3
#引用R包
library(survival)
library(survminer)
#读取肿瘤与生存数据
data = read.table(paste0("expTime.",geneName,".txt"), 
                  header=T, 
                  sep="\t", 
                  check.names=F,
                  row.names = 1)
#生存单位改成年
data$OS.time=data$OS.time/365   
#提取LUAD肿瘤数据
data = data[data$CancerType == CancerName,]
#鉴定最佳cutoff
bestcut <- surv_cutpoint(data,
                         time = "OS.time",
                         event = "OS",
                         variables = geneName ,
                         minprop = minprop) 
cutoff <- bestcut$cutpoint[1,1]
#也可以以中位值为截断值
#cutoff <- median(data[,geneName])
#大于cutoff的为高表达组,否则为低表达组
data$group <- factor(ifelse(data[,geneName] > cutoff,"High","Low"), 
                     levels = c("High","Low")
)
diff=survdiff(Surv(OS.time, OS) ~ group,
              data = rt1, 
              na.action=na.exclude)
#计算log-rank p value 
pValue <- 1 - pchisq(diff$chisq, length(diff$n) - 1)