生存分析-随机森林实验与代码

2026/1/27 19:23:03

for(i in 1:var.rf$modelsize){

index[i]<-which(names(dat)==var.rf$topvars[i]) }

data<-dat[,c(1,2,index)]

i<-sample(1:77,52) train<-data[i,] test<-data[-i,]

mod.brea<-coxph(Surv(time,status)~.,data=train)

train_data<-train[,c(1,2,which(summary(mod.brea)$coefficients[,5]<=0.1)+2)] tset_data<-test[,c(1,2,which(summary(mod.brea)$coefficients[,5]<=0.1)+2)] mod.brea1<-coxph(Surv(time,status)~.,data=train_data) summary(mod.brea1) names(coef(mod.brea1))

plot(survfit(mod.brea1),xlab=\= \Model\

index0<-numeric(length(coef(mod.brea1))) coefficients<-coef(mod.brea1)

name<-gsub(\for(j in 1:length(index0)){

index0[j]<-which(names(dat)==name[j]) }

library(survivalROC)

riskscore<-as.matrix(dat[i,index0])%*% as.matrix(coefficients)

y1<-survivalROC(Stime=train$time,status=train$status,marker=riskscore,predict.time=1,span = 0.25*(nrow(train))^(-0.20))

y3<-survivalROC(Stime=train$time,status=train$status,marker=riskscore,predict.time=3,span = 0.25*(nrow(train))^(-0.20))

y5<-survivalROC(Stime=train$time,status=train$status,marker=riskscore,predict.time=5,span = 0.25*(nrow(train))^(-0.20))

a<-matrix(data=c(\

plot(y1$FP,y1$TP,type=\Positive Rate\= \Positive Rate\ lines(y3$FP,y3$TP,col=\lines(y5$FP,y5$TP,col=\

legend(\= c(\at 1 year:0.9271\at 3 years:0.8621\at 5 years:0.8263\abline(0,1)

riskscore<-as.matrix(dat[-i,index0])%*% as.matrix(coefficients)

y1<-survivalROC(Stime=test$time,status=test$status,marker=riskscore,predict.time=1,span = 0.25*(nrow(train))^(-0.20))

y3<-survivalROC(Stime=test$time,status=test$status,marker=riskscore,predict.time=3,span = 0.25*(nrow(train))^(-0.20))

y5<-survivalROC(Stime=test$time,status=test$status,marker=riskscore,predict.time=5,span = 0.25*(nrow(train))^(-0.20))

a<-matrix(data=c(\

plot(y1$FP,y1$TP,type=\Positive Rate\= \Positive Rate\ lines(y3$FP,y3$TP,col=\lines(y5$FP,y5$TP,col=\

legend(\= c(\at 1 year:0.8761\at 3 years:0.7611\at 5 years:0.7611\abline(0,1)

a<-matrix(0,30,3) for (c in 1:30){

i<-sample(1:77,52) train<-data[i,] test<-data[-i,]

mod.brea<-coxph(Surv(time,status)~.,data=train)

train_data<-train[,c(1,2,which(summary(mod.brea)$coefficients[,5]<=0.1)+2)] tset_data<-test[,c(1,2,which(summary(mod.brea)$coefficients[,5]<=0.1)+2)] mod.brea1<-coxph(Surv(time,status)~.,data=train_data) names(coef(mod.brea1))

index0<-numeric(length(coef(mod.brea1))) coefficients<-coef(mod.brea1)

name<-gsub(\ for(j in 1:length(index0)){

index0[j]<-which(names(dat)==name[j]) }

riskscore<-as.matrix(dat[-i,index0])%*% as.matrix(coefficients)

y1<-survivalROC(Stime=test$time,status=test$status,marker=riskscore,predict.time=1,span = 0.25*(nrow(train))^(-0.20))

y3<-survivalROC(Stime=test$time,status=test$status,marker=riskscore,predict.time=

3,span = 0.25*(nrow(train))^(-0.20))

y5<-survivalROC(Stime=test$time,status=test$status,marker=riskscore,predict.time=5,span = 0.25*(nrow(train))^(-0.20))

a[c,]<-c(y1$AUC,y3$AUC,y5$AUC) }


生存分析-随机森林实验与代码.doc 将本文的Word文档下载到电脑
搜索更多关于: 生存分析-随机森林实验与代码 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219