##加载数据
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区间