美文网首页R小技巧
R语言超详细构建Logstic回归列线图教程

R语言超详细构建Logstic回归列线图教程

作者: 灵活胖子的进步之路 | 来源:发表于2020-10-06 18:13 被阅读0次
    library(foreign) #载入外部数据需要应用此包
    library(rms)#做列线图需要用的包
    mydata<-read.table("2020090873.csv",header=T,sep = ",")
    

    读取当前目录文件,CSV文件分割为",",标题为真,第一行设定为标题

    str(mydata)
    

    展示数据集的结构

    mydata$MVI<-factor(mydata$MVI,labels=c("M1","M2","M3"))
    mydata$preHBeAg<-factor(mydata$preHBeAg,labels=c("negative","positive"))
    mydata$diameter5<-factor(mydata$diameter5,labels=c("≤5",">5"))
    mydata$Multiple.shots<-factor(mydata$Multiple.shots,labels=c("Single","Multiple"))
    mydata$Satellite<-factor(mydata$Satellite,labels=c("no","yes"))
    mydata$Serosa<-factor(mydata$Serosa,labels=c("no","yes"))
    

    把需要应用的分类变量设定哑变量并设定为无序多分类变量,原则上二分类变量无序上述改变,但改变后后续列线图会同时显示lable的名称。AFP值取了自然对数为底的对数,对其进行正太化,此处未显示

    str(mydata)
    

    再次展示数据集的结构,注意确定为因子变量的变量名称变化

    attach(mydata)
    

    把数据集加载入当前环境中

    dev = mydata[mydata$devlopval==0,]
    

    根据devlopval拆分为建模集

    vad = mydata[mydata$devlopval==1,]
    

    根据devlopval拆分为验证集

    dd<-datadist(dev)
    options(datadist='dd')
    

    以上两行命令对数据打包

    fit.dev<-lrm(team~LnAFP+preHBeAg +diameter5+Multiple.shots+Serosa+MVI+Satellite,data=dev,x=T,y=T)
    

    构建Logstic回归模型,team为因变量,~后7个为自变量,data选择建模集,x=t和y=t的意思为在自变量及因变量出现缺失值时候的处理方式,数据集无缺失。

    fit.dev
    
    模型展示结果

    展示模型
    参数比较重要的有C指数,大于0.7证明模型区分度可以,最好大于0.8,R2大于0.1认为模型还可以。另外每个变量的P值也可以看到。

    nom.dev<- nomogram(fit.dev, fun=plogis,fun.at=c(.001, .01, .05, seq(.1,.9, by=.1), .95, .99, .999),lp=F, funlabel="Probability of early recurrence")
    

    fit.dev为构建的列线图,fun=plogis为逻辑回归定义的把线性预测值lp转换成分数的方法,fun.at后为列线图刻度的画法,lp=F为不画出线性预测值,funlabel为图片标签

    plot(nom.dev)
    

    打印出列线图

    列线图

    相关文章

      网友评论

        本文标题:R语言超详细构建Logstic回归列线图教程

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