列线图计算每个患者得分,并生成Roc曲线。

##加载数据
library(rms) 
bc<-as.data.frame(one) ##命名为bc

bc$sex <- factor(bc$sex)
bc$chengdu <- factor(bc$chengdu) 
bc$treat<- factor(bc$treat) 
bc$stage<- factor(bc$stage) 
bc$zhuangyi <- factor(bc$zhuangyi) ##命名分类变量

dc<-datadist(bc) 
options(datadist="dc") ##打包数据bc

fit <- lrm(s~ age+sex+chengdu+treat+stage+zhuangyi,data = bc,x=T,y=T) ##构建模型

plot(nomogram(fit, fun = function(x)plogis(x)),col.grid = gray(c(0.8, 0.95)))##生成nom图


nom <- nomogram(fit)
library(nomogramFormula)##加载nomogramFormula包
results<-formula_rd(nomogram=nom)
bc$points<-points_cal(formula = results$formula,rd=bc)##生成每个个体分数
pre<-bc$points

library(pROC)##加载pROC包
plot.roc(bc$s, pre,
         main="ROC Curve", percent=TRUE,
         print.auc=TRUE,
         ci=TRUE, of="thresholds",
         thresholds="best",
         print.thres="best")##构建roc曲线
rocplot1 <- roc(bc$s,pre)
ci.auc(rocplot1)##计算ROC下面积AUC区间


 

  • 3
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
你可能想要绘制一组模型的ROC曲线每个模型都有一个列。你可以使用`ggplot2`包来绘制列线图模型ROC曲线。下面是一个简单的示例代码: ```R library(pROC) library(ggplot2) # 生成一些随机数据 set.seed(123) data <- data.frame( y_true = sample(c(0, 1), 100, replace = TRUE), y_pred1 = runif(100), y_pred2 = runif(100), y_pred3 = runif(100), colnames = c("Model 1", "Model 2", "Model 3") ) # 将数据转换为长格式 data_long <- data %>% pivot_longer(cols = starts_with("y_pred"), names_to = "model", values_to = "y_pred") # 计算每个模型的ROC曲线 roc_data <- data_long %>% group_by(model) %>% summarize(roc = list(roc(y_true, y_pred))) # 绘制ROC曲线列线图 ggplot(roc_data, aes(x = model, y = roc, color = model)) + geom_col(aes(fill = model), width = 0.5, position = position_dodge(width = 0.5)) + geom_line(aes(group = model), size = 1.2, position = position_dodge(width = 0.5)) + scale_color_manual(values = c("red", "blue", "green")) + scale_fill_manual(values = c("red", "blue", "green")) + labs(x = "Model", y = "ROC curve", title = "ROC curves for multiple models") ``` 在上面的示例代码中,我们首先生成了一些随机数据,并使用`pivot_longer`函数将数据转换为长格式。然后使用`group_by`和`summarize`函数计算每个模型的ROC曲线。最后,使用`ggplot`函数绘制ROC曲线列线图。其中,`geom_col`函数用于绘制柱状图,`geom_line`函数用于绘制ROC曲线,`scale_color_manual`和`scale_fill_manual`函数用于设置颜色,`labs`函数用于设置图形的标题和轴标签。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值