zl程序教程

您现在的位置是:首页 >  其他

当前栏目

限制性立方样条(RCS)的列线图怎么画?

2023-03-07 09:12:35 时间

关于临床预测模型的基础知识,小编之前已经写过非常详细的教程,包括了临床预测模型的定义、常用评价方法、列线图、ROC曲线、IDI、NRI、校准曲线、决策曲线等。

全都是免费获取的代码和数据R语言临床预测模型合集

临床预测模型进阶系列目前已推出随机生存森林系列推文:


之前关于列线图写了3篇推文,详细介绍了二分类资料和生存资料的列线图绘制:

今天的这篇推文来自群友提问,RCS(限制性立方样条)的列线图怎么画?

其实很简单,直接用rms包即可搞定。

下面分别演示logistic和COX的RCS的列线图绘制。

建立logistic模型

library(rms)

# 逻辑回归数据
getHdata(titanic3)

# 使用rms前先把数据打包
dd <- datadist(titanic3); options(datadist='dd')

# 逻辑回归的立方样条
f <- lrm(survived ~ rcs(sqrt(age),5) + sex, data=titanic3)
f
## Frequencies of Missing Values Due to Each Variable
## survived      age      sex 
##        0      263        0 
## 
## Logistic Regression Model
##  
##  lrm(formula = survived ~ rcs(sqrt(age), 5) + sex, data = titanic3)
##  
##  
##                         Model Likelihood      Discrimination    Rank Discrim.    
##                               Ratio Test             Indexes          Indexes    
##  Obs          1046    LR chi2     328.06      R2       0.363    C       0.794    
##   0            619    d.f.             5     R2(5,1046)0.266    Dxy     0.587    
##   1            427    Pr(> chi2) <0.0001    R2(5,758.1)0.347    gamma   0.593    
##  max |deriv| 2e-07                            Brier    0.168    tau-a   0.284    
##  
##            Coef     S.E.    Wald Z Pr(>|Z|)
##  Intercept   3.0936  0.5428   5.70 <0.0001 
##  age        -0.6383  0.1771  -3.60 0.0003  
##  age'        1.5544  0.6527   2.38 0.0172  
##  age''     -12.1583  8.8925  -1.37 0.1715  
##  age'''     15.8326 16.9397   0.93 0.3500  
##  sex=male   -2.4944  0.1549 -16.10 <0.0001 
## 

画列线图

下面直接画图即可,没有任何难度,因为rms这个包把一切都给你做好了,不用自己操心,如果你做临床预测模型,是不可能绕开这个包的。

nom <- nomogram(f, fun=plogis,
                 lp=T,
                 funlabel="Risk of Death")  
plot(nom) 

plot of chunk unnamed-chunk-2

这样RCS的列线图就画好了,关于一些参数的意义和细节的美化,可以参考前面的推文,这里就不多说了。

既然logistic回归没问题,那COX回归自然也是没问题的!

COX回归RCS的列线图

dd <- datadist(lung)
options(datadist = "dd")

构建cox比例风险模型:

coxfit <- cph(Surv(time, status) ~ rcs(sqrt(age),5) + sex,
              data = lung, x=T,y=T,surv = T
              )

# 构建生存函数,注意你的最大生存时间
surv <- Survival(coxfit) 
surv1 <- function(x) surv(365,x) # 1年OS
surv2 <- function(x) surv(365*2,x) # 2年OS

nom <- nomogram(coxfit,
                fun = list(surv1,surv2),
                lp = T,
                funlabel = c('1-year survival Probability',
                         '2-year survival Probability')
                )

plot(nom)

plot of chunk unnamed-chunk-4

这就是COX回归RCS的列线图,关于一些参数的意义和细节的美化,可以参考前面的推文,这里就不多说了。

是不是很简单?

因为是演示数据,所以画出来的图不是很美观,但是实现方法就是这么简单!

大家如果有问题可加入我们的免费千人QQ群讨论,我会把你们的问题写成推文推送。


临床预测模型系列推文

  1. R语言临床预测模型合集
  2. 简单易懂:什么是临床预测模型?
  3. Cox回归列线图(nomogram)的4种绘制方法
  4. Logistic回归列线图的4种绘制方法
  5. 列线图的本质
  6. 一文搞懂临床预测模型的评价!
  7. 区分度评价:C-statistic的计算
  8. C-statistic的显著性检验
  9. 临床预测模型之二分类资料ROC曲线绘制
  10. 临床预测模型之生存资料的ROC曲线绘制
  11. R语言画多时间点ROC和多指标ROC曲线
  12. 生存资料ROC曲线的最佳截点和平滑曲线
  13. ROC(AUC)曲线的显著性检验
  14. ROC阳性结果还是阴性结果?
  15. ROC曲线纯手工绘制
  16. R语言计算AUC(ROC曲线)的注意事项
  17. 多指标联合诊断的ROC曲线
  18. 净重新分类指数NRI计算
  19. 综合判别改善指数IDI的计算
  20. 二分类资料的DCA决策曲线分析
  21. 生存资料的决策曲线分析DCA
  22. 只会logistic和cox的决策曲线?来看看适用于一切模型的DCA!
  23. 二分类资料校准曲线的绘制
  24. 生存资料校准曲线的绘制
  25. tidymodels不能画校准曲线?
  26. mlr3的校准曲线也是一样画!
  27. 使用tidymodels搞定二分类资料多个模型评价和比较
  28. 使用workflow一次完成多个模型的评价和比较
  29. 使用mlr3搞定二分类资料的多个模型评价和比较
  30. Fine-Gray检验、竞争风险模型、列线图绘制
  31. tidymodels支持校准曲线了
  32. 3d版混淆矩阵可视化
  33. logistic校准曲线(测试集)的6种实现方法