cox分析原理及结果阶段见:https://www.omicsclass.com/article/1138
cox分析原理及结果阶段见:https://www.omicsclass.com/article/1138
如果觉得我的回答对您有用,请随意打赏。你的支持将鼓励我继续创作!
# 8. 基于ROC 构建风险模型 # 对 Cut-off 值进行优化,选择最优分组阈值 ############################################################ # 在训练数据上检验模型 multi_model_risk_values <- predict(Multi_cox2,train[,multi_sign_gene],type="risk") #根据模型计算每一个样品的风险值 new_exprSet <- train[,c('bcr_patient_barcode','time','status')] #生存数据 new_exprSet$multi_model_risk_values <- multi_model_risk_values #增加一列风险值 new_exprSet <- new_exprSet[!is.na(new_exprSet$time),] #去除生存时间为NA的样品 # ROC 优化,确定划分高风险,低风险阈值 cutoff =1000 #设置中位生存期预测的ROC值 pdf(file = "ROC_result.pdf",height = 10,width = 10) ROC_opt= survivalROC(Stime=new_exprSet$time, status=new_exprSet$status, marker = new_exprSet$multi_model_risk_values, predict.time = cutoff,method="KM") plot(ROC_opt$FP, ROC_opt$TP, type="l", xlim=c(0,1), ylim=c(0,1), xlab=paste( "FPR", "\n", "AUC = ",round(ROC_opt$AUC,3)), ylab="TPR",col="blue") abline(0,1) min_index <- with(ROC_opt, which.min(1-TP+ FP)) # FPR最小,TPR最大 cut_value = ROC_opt$cut.values[min_index] #划分阈值 with(ROC_opt, points(FP[min_index], TP[min_index], cex=2, col="red" )) with(ROC_opt, text(FP[min_index], TP[min_index]*1.05,round(cut_value,3),col="red")) dev.off() 这是您在有道笔记上的代码,cut_value = ROC_opt$cut.values[min_index] #划分阈值, 所以我需要外部验证的时候,我用boxplot看了一下表达量,发现外部验证数据集的表达量要稍微高点,所以我想问这个cut_value要去怎么确定呢?
如果还是用之前的cut_value的话,外部验证集的risk value普遍比训练集的要高。麻烦老师了!