result.KM = data.frame(EnsemblID=NA,p.value=NA)
for(i in 1:304){ #纳入的基因数
meta$gene = meta[,i]
meta$group = ifelse(meta$gene > median(meta$gene), 'hign', 'low')
KM = survdiff(Surv(pfs_time, pfs_status)~group,
data = meta)
p.value <- 1 - pchisq(KM$chisq, length(KM$n) - 1) #计算log-rank检验的p值
result.KM[i,1] = names(meta)[i]
result.KM[i,2] = p.value
}
- 输入数据 meta 的结构为:基因表达(z-score)+ 生存资料
![](https://i-blog.csdnimg.cn/blog_migrate/7a64eebcf9b24d7f1dd7eaae3346067d.png)