针对TCGA 下载下来的lncRNA, miRNA的表达矩阵,结合临床信息,可以进行生存分析。
# 表达信息和生存数据整合到 exprSet, 如下:
bcr_patient_barcode time status LINC01587 XXbac_B461K10.4
1 TCGA-2W-A8YY 148 0 3.981761 23.89057
2 TCGA-4J-AA1J 226 0 37.491171 19.63823
3 TCGA-BI-A0VR 1505 0 10.891560 3.63052
4 TCGA-BI-A0VS 925 0 3.877719 19.38859
5 TCGA-BI-A20A 72 0 16.789319 12.21041
6 TCGA-C5-A0TN 348 1 7.835572 28.73043
# 构建生存数据表
mysurv <- Surv(exprSet$time, exprSet$status)
# 单因素cox 分析函数
Unicox <- function(x){
fml <- as.formula(paste0('mysurv~', x))
gcox <- coxph(fml, exprSet)
cox_sum <- summary(gcox)
HR <- round(cox_sum$coefficients[,2],2)
PValue <- round(cox_sum$coefficients[,5],4)
CI <- paste0(round(cox_sum$conf.int[,3:4],2),collapse='-')
Uni_cox <- data.frame('Characteristics' = x,
'Hazard Ratio' = HR,
'CI95' = CI,
'P value' = PValue)
return(Uni_cox)
}
# 计算每一个单因素,比如hsa_let_7a_1
Unicox('hsa_let_7a_1')
# 批量计算单因素
VarNames <- gene_names
Univar <- lapply(VarNames, Unicox)
# 将单因素的结果汇总
Univar <- ldply(Univar, data.frame)
整理的结果如下:
Characteristics Hazard.Ratio CI95 P.value 1 LINC01587 1.00 0.99-1.01 0.6771 2 XXbac_B461K10.4 1.01 1-1.03 0.0380 3 IGF2_AS 1.00 1-1.01 0.4047 4 TPTEP1 1.00 1-1 0.3280 5 DLEU2L 1.00 0.99-1.01 0.9864 6 RP11_268J15.5 1.00 1-1 0.0736
如果您对TCGA数据挖掘感兴趣,请学习我们的TCGA相关课程:
《GSEA富集分析》
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!