美文网首页R for statistics生信学习
15分钟进行单因素分析,多因素鉴定绘制森林图及建立随机森林模型(

15分钟进行单因素分析,多因素鉴定绘制森林图及建立随机森林模型(

作者: 灵活胖子的进步之路 | 来源:发表于2021-11-14 12:16 被阅读0次

    首先利用compareGroups包绘制基线信息表及进行单因素逻辑回归,然后利用forestmodel进行多因素逻辑回归并绘制森林图,最后应用randomForest包进行随机森林的构建并进行验证,验证指标主要根据C指数。

    library(ggpubr)
    library(survminer)
    library(survival)
    library(randomForest)
    library(compareGroups)
    library(rms) 
    library(forestmodel)
    library(pROC)
    
    df <- read.csv("rawdata.csv",header = T)
    df$status<-factor(df$status,labels=c("alive","dead"))#生存状态因子化变为二分变量并赋值
    df$sex<-factor(df$sex,labels=c("male","female"))#性别因子化变为二分变量并赋值
    df$obstruct<-factor(df$obstruct,labels=c("no","yes"))#梗阻情况因子化变为二分变量并赋值
    df$differ <- as.factor(df$differ)
    set.seed(2021)
    ind <- sample(2, nrow(df), 
                  replace = T, 
                  prob = c(0.7, 0.3))#有放回回抽样,建模组70%,验证组30%
    devData <- df[ind == 1,]  # 建模组
    vadData <- df[ind == 2,]  # 验证组
    
    mixdata<-cbind(ind,df) #最终数据集
    
    tab1<- descrTable(ind~.-ind,method = 1, data = mixdata)
    export2word(tab1, file='table1.docx')
    
    tab2_uni<- descrTable(status~ .,show.ratio =TRUE,
               data = df,method=c(time=2),
               show.p.trend=TRUE) 
    export2word(tab2_uni, file='tab2_uni.docx')
    
    ##多因素回归结果用森林图表示
    glmmodel <- glm(status ~ rx + sex + obstruct + differ, binomial(link="logit"), data = devData)
    
    forest_model(glmmodel)
    
    ####建立逻辑回归模型并计算C指数
    str(df$status)
    pr <- predict(glmmodel,type=c("response"))
    roccurve <- roc(df$status ~ pr)
    plot.roc(roccurve,xlim = c(1,0),ylim=c(0,1))
    

    相关文章

      网友评论

        本文标题:15分钟进行单因素分析,多因素鉴定绘制森林图及建立随机森林模型(

        本文链接:https://www.haomeiwen.com/subject/vmottrtx.html