限制性立方样条(RCS)的列线图怎么画?
怎么 线图 立方 样条 限制性 RCS
2023-06-13 09:17:00 时间
关于临床预测模型的基础知识,小编之前已经写过非常详细的教程,包括了临床预测模型的定义、常用评价方法、列线图、ROC曲线、IDI、NRI、校准曲线、决策曲线等。
全都是免费获取的代码和数据:R语言临床预测模型合集
临床预测模型进阶系列目前已推出随机生存森林系列推文:
- 随机生存森林模型构建和结果解读
- 随机生存森林的Risk Score和生存曲线
- 随机生存森林的决策曲线分析(DCA)
- 持续更新中,敬请期待......
之前关于列线图写了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群讨论,我会把你们的问题写成推文推送。
临床预测模型系列推文
- R语言临床预测模型合集
- 简单易懂:什么是临床预测模型?
- Cox回归列线图(nomogram)的4种绘制方法
- Logistic回归列线图的4种绘制方法
- 列线图的本质
- 一文搞懂临床预测模型的评价!
- 区分度评价:C-statistic的计算
- C-statistic的显著性检验
- 临床预测模型之二分类资料ROC曲线绘制
- 临床预测模型之生存资料的ROC曲线绘制
- R语言画多时间点ROC和多指标ROC曲线
- 生存资料ROC曲线的最佳截点和平滑曲线
- ROC(AUC)曲线的显著性检验
- ROC阳性结果还是阴性结果?
- ROC曲线纯手工绘制
- R语言计算AUC(ROC曲线)的注意事项
- 多指标联合诊断的ROC曲线
- 净重新分类指数NRI计算
- 综合判别改善指数IDI的计算
- 二分类资料的DCA决策曲线分析
- 生存资料的决策曲线分析DCA
- 只会logistic和cox的决策曲线?来看看适用于一切模型的DCA!
- 二分类资料校准曲线的绘制
- 生存资料校准曲线的绘制
- tidymodels不能画校准曲线?
- mlr3的校准曲线也是一样画!
- 使用tidymodels搞定二分类资料多个模型评价和比较
- 使用workflow一次完成多个模型的评价和比较
- 使用mlr3搞定二分类资料的多个模型评价和比较
- Fine-Gray检验、竞争风险模型、列线图绘制
- tidymodels支持校准曲线了
- 3d版混淆矩阵可视化
- logistic校准曲线(测试集)的6种实现方法
相关文章
- mybatis的逆向工程怎么实现_mybatis逆向工程原理
- 营销型网站优化该怎么做?
- Python中面向对象初始化方法什么时候被调用?怎么设置初始值?
- cloudsim仿真_虚拟机cpu怎么分配
- 已成功刷新dns解析缓存后怎么操作_刷新dns缓存的命令
- Polardb 核心存储 polarfs 是怎么进行数据存储的之核心构造(4)--译
- 库如何清空MySQL数据库(怎么清空mysql的数据)
- Linux驱动安装指南(linux驱动怎么装)
- 怎样确定SQL Server服务器的版本号?(怎么判断mssql版本)
- 从零开始如何实例化Redis(怎么实例化redis)
- 自动启动Redis库的正确方法(怎么自动启动redis库)
- 出查询时间怎样在Oracle中优化查询时间(oracle中怎么计算)
- 英伟达是怎么在发布会里造出来一个假CEO的?