代码+视频,R语言VRPM绘制多种模型的彩色列线图

列线图,又称诺莫图(Nomogram),它是建立在回归分析的基础上,使用多个临床指标或者生物属性,然后采用带有分数高低的线段,从而达到设置的目的:基于多个变量的值预测一定的临床结局或者某类事件发生的概率。列线图(Nomogram)可以用于多指标联合诊断或预测疾病发病或进展。

近些年来在高质量SCI临床论文中用的越来越多。列线图将回归模型转换成了可以直观的视图,让结果更容易判断,具有可读性,例如:

咱们既往已经多篇文章介绍绘制列线图,今天咱们来视频介绍一下VRPM包绘制彩色列线图,这个包可以绘制多个模型的列线图,咱们一一来介绍。

R语言VRPM绘制多种模型的彩色列线图

代码

r 复制代码
# install.packages("devtools")  # 安装devtools包
# devtools::install_github("nanxstats/VRPM")  # 安装VRPM包
# 或者在我的公众号吧这个包下载下来(公众号回复:VRPM包),手动安装

library(VRPM)
library(survival)
setwd("E:/公众号文章2024年/代码+视频/代码+视频VRPM包绘制彩色评分图")
mydata <- read.csv("mydata.csv")
mydata$rank <- factor(mydata$rank)
fit <- glm(admit ~ gre + gpa + rank, data = mydata, family = "binomial")
colplot(fit)
colplot(fit,coloroptions=1)
colplot(fit,coloroptions=3)

#### cox比例风险回归
library(mfp)
data(GBSG)
fit<-coxph(Surv(rfst, cens) ~ age+tumsize+posnodal+prm+esm+menostat+tumgrad, data = GBSG, 
           model=TRUE)
colplot(fit)
str(GBSG)
str(bc)
##########
library(foreign)
bc <- read.spss("E:/r/test/Breast cancer survival agec.sav",
                use.value.labels=F, to.data.frame=T)
bc <- na.omit(bc)
bc$histgrad<-as.factor(bc$histgrad)
bc$er<-as.factor(bc$er)
bc$pr<-as.factor(bc$pr)
bc$ln_yesno<-as.factor(bc$ln_yesno)
bc$time<-as.integer(bc$time)
fit1<-coxph(Surv(time,status)~er+histgrad+pr+age+ln_yesno,bc,model=TRUE)  #model=TRUE一定要有
colplot(fit1)


#### 多项式逻辑回归模型
library(nnet)
library(VGAMdata)
data(xs.nz)
marital.nz <- xs.nz[,c("marital","sex","age","height","weight")]
mydata <- marital.nz[complete.cases(marital.nz),]
str(mydata)
fit <- multinom(marital ~ sex + age + height + weight, data = mydata,model=TRUE)
# for multinimial logistic regression, a vector of risk labels needs to be made 
# and provided to the colplot function
outnames=colnames(fitted(fit))
labels=c(paste("Linear predictor for",outnames[-1]),paste
         ("Predicted chance of being",outnames))
# visualize the model: more than one plot is generated in the current directory
colplot(fit,coloroptions=3,risklabel=labels,filename="div")  #生成div开头的图片


#### 支持向量机分类器
## Not run: 
library(kernlab)
data(iris)
levels(iris$Species)[levels(iris$Species)=="setosa"] <- "other"
levels(iris$Species)[levels(iris$Species)=="virginica"] <- "other"
names(iris)=c("SL","SW","PL","PW","Species")
# RBF kernel
model <-ksvm(Species ~ ., data = iris,prob.model=TRUE,kpar=list(0.03),C=10)
# The plot should be based on all training data, so the following code should be used:
newmodel=preplotperf(model,iris,indy=5,zerolevel="min") #对模型和数据进行处理
colplot(newmodel,filename="IRIS2",zerolevel="min",coloroptions=5)
相关推荐
草莓熊Lotso1 天前
C++11 核心特性实战:列表初始化 + 右值引用与移动语义(附完整代码)
java·服务器·开发语言·汇编·c++·人工智能·经验分享
初夏睡觉1 天前
从0开始c++,但是重置版,第1篇(c++基本框架)
开发语言·c++
workflower1 天前
时序数据获取事件
开发语言·人工智能·python·深度学习·机器学习·结对编程
CoderYanger1 天前
C.滑动窗口-求子数组个数-越长越合法——2799. 统计完全子数组的数目
java·c语言·开发语言·数据结构·算法·leetcode·职场和发展
C++业余爱好者1 天前
Java 提供了8种基本数据类型及封装类型介绍
java·开发语言·python
林杜雨都1 天前
Action和Func
开发语言·c#
皮卡龙1 天前
Java常用的JSON
java·开发语言·spring boot·json
火山灿火山1 天前
Qt常用控件(三)
开发语言·qt
利刃大大1 天前
【JavaSE】十三、枚举类Enum && Lambda表达式 && 列表排序常见写法
java·开发语言·枚举·lambda·排序
float_六七1 天前
Java反射:万能遥控器拆解编程
java·开发语言