使用 R 构建复杂设计调查加权(Survey-Weighted) Cox 模型的列线图
列线图,又称诺莫图(Nomogram),它是建立在回归分析的基础上,使用多个临床指标或者生物属性,然后采用带有分数高低的线段,从而达到设置的目的:基于多个变量的值预测一定的临床结局或者某类事件发生的概率。列线图(Nomogram)可以用于多指标联合诊断或预测疾病发病或进展。
近些年来在高质量SCI临床论文中用的越来越多。列线图将回归模型转换成了可以直观的视图,让结果更容易判断,具有可读性,例如:
对于复杂设计调查(Survey-Weighted)的数据,我们不能使用RMS包直接绘制预测模型列线图,这样会造成数据偏差,今天我们来介绍SvyNom绘制复杂设计调查(Survey-Weighted)的数据cox回归的列线图,先导入数据和R包
library("rms")
library("survey")
library("SvyNom")
set.seed(1234)
noNA<-read.csv("E:/r/test/noNA.csv",sep=',',header=TRUE)
上图只显示了一部分,这是一个转移性胃癌患者(Power、Capanu、Kelsen 和 Shah 2011)的数据(公众号回复:胃癌数据,可以获得数据),数据很多我们选取一部分建模,age_dx:年龄,group:分组变量,分为存活率小于2年的和大于两年的,inv_weight:概率权重,ssize:每个分组患者的人数,survival生存时间,surv_cens生存结局
要建立调查加权,我们先要生成一个调查表,我们这里是根据患者是否能活超过24个月进行分层,
dstr2 <- svydesign(id = ~1, strata = ~group, prob = ~inv_weight, fpc = ~ssize, data = noNA)
prob 指定的抽样概率对于长期幸存者组(≥ 24月)中的患者等于 1,对于存活不到 2 年的患者均等于 253/853=0.296。fpc 选项指定已在每个层中抽样的总人口,在 ≥ 24 组中等于 132,对于 <24 组中的患者等于 853。
建立cox方程拟合包含患者年龄、ECOG 状态、白蛋白和血红蛋白水平、肿瘤分化、是否存在多个转移部位等变量
svy.cox.fit <- svycoxph(Surv(survival, surv_cens) ~ ECOG + liver_only + Alb + Hb + Age + Differentiation + Gt_1_m1site + lymph_only, x = TRUE, design = dstr2)
svy.cox.fit
对数据格式设定
dd <- datadist(noNA)
options(datadist = "dd")
ss3 <- c(0.05, 0.2, 0.4, 0.6, 0.7, 0.8, 0.9, 0.95, 0.99)
构建列线图数据,design =填入我们的调查表,model=填入我们建立的模型,pred.at =这里我们预测两年生存率,所以填入24,fun.lab =这里生存列线图标签
mynom <- svycox.nomogram(.design = dstr2, .model = Surv(survival, surv_cens) ~ ECOG + liver_only + Alb + Hb + Age + Differentiation + Gt_1_m1site + lymph_only, .data = noNA, pred.at = 24, fun.lab = "Prob of 2 Yr OS")
绘图
plot(mynom$nomog)
通过重抽样建立引导数据对列线图进行验证
bootit <- 200
cases <- which(noNA$group == "long")
controls <- which(noNA$group == "<24")
boot.index <- matrix(NA, nrow(noNA), bootit)
for (i in 1:bootit)boot.index[, i] <- c(sample(cases, replace = TRUE), sample(controls, replace = TRUE))
估值差异很小,说模型可信度不错。最后绘制校准曲线
svycox.calibrate(mynom)
OK,本文结束,觉得有用的话请分享给需要的人哟。
使用 R 构建复杂设计调查加权(Survey-Weighted) Cox 模型的列线图相关推荐
- R构建加权最小二乘回归模型(Weighted Least Squares Regression)
R构建加权最小二乘回归模型(Weighted Least Squares Regression) 目录 R构建加权最小二乘回归模型(Weighted Least Squares Regression)
- 分享如何设计调查问卷和怎样分析问卷数据(转载)
又快到了写论文的时候了,有小伙伴论文采用了问卷调查方法,但不是特别清楚具体的问卷设计和数据分析流程. 今天就和大家说说整个流程:怎么设计一份合格的问卷以及怎么对问卷数据进行分析? 一.问卷设计步骤 如 ...
- 第二节认识计算机教案,第二章 第二节 局域网的构建 教学设计_博客
<第二章 第二节 局域网的构建 教学设计_博客>由会员分享,可在线阅读,更多相关<第二章 第二节 局域网的构建 教学设计_博客(3页珍藏版)>请在装配图网上搜索. 1.第二章 ...
- Survey | 基于生成模型的分子设计
今天给大家介绍MIT的Rafeal Gomez-Bombarelli教授发表在arXiv上的综述文章.文章对分子生成模型进行了分类,并介绍了各类模型的发展和性能.最后,作者总结了生成模型作为分子设计前 ...
- R构建径向核支持向量机分类器实战代码(Radial kernel Support Vector Classifier)
R构建径向核支持向量机分类器实战代码(Radial kernel Support Vector Classifier) 目录 R构建径向核支持向量机分类器实战代码(Radial kernel Supp ...
- R构建Logistic回归实战(Logistic Regression)
R构建Logistic回归实战(Logistic Regression) 目录 R构建Logistic回归实战(Logistic Regression) 逻辑回归(Logistic Regressio ...
- R构建岭回归模型(Ridge Regression)实战
R构建岭回归模型(Ridge Regression)实战 目录 R构建岭回归模型(Ridge Regression) 岭回归模型 选择最优λ值 交叉验证
- R构建对数回归模型(Logarithmic Regression)
R构建对数回归模型(Logarithmic Regression) 目录 R构建对数回归模型(Logarithmic Regression) 对数回归模型(Logarithmic Regression ...
- R构建指数回归模型(Exponential Regression)
R构建指数回归模型(Exponential Regression) 目录 R构建指数回归模型(Exponential Regression) 指数回归(Exponential Regression) ...
- R构建幂回归模型(Power Regression)
R构建幂回归模型(Power Regression) 目录 R构建幂回归模型(Power Regression) 创建数据 数据可视化 拟合幂回归模型
最新文章
- SQL SERVER大话存储结构(2)
- English debate sample motion
- 说实话,你的API接口在高并发面前不堪一击!
- RabbitMQ声明队列参数作用详解
- 哔哩哔哩_哔哩哔哩,危!!!
- html输入框2位小数,input输入框数字限制(2位小数,含0的正整数)
- java填空题 在非静态成员方法中_Java编程基础知识点汇总习题集--答案word版本
- Java权限管理系统之代码实现(二)
- 搜索关键词采集YouTube视频字幕
- 抗体链接InP/ZnS量子点|量子点InP/ZnS表面修饰抗体偶联服务-齐岳生物
- java 发 腾讯企业邮_JAVA使用腾讯企业邮箱发送邮件时报错Could not connect to SMTP host...
- 用计算机制作演示文稿教案博客,信息技术:《制作演示文稿的一般过程》教案...
- Python操作网页
- Python爬取《哆啦A梦-伴我同行2》影评,这部的寓意是啥?词云来剧透!
- idea解决Command line is too long. Shorten command line for ServiceStarter or also for Application报错
- c语言 dct变换,DCT, IDCT变换--C语言实现
- 在Unity实现Canny边缘检测
- MFC实现基本图形绘制、变换、自由曲线绘制、图形裁剪和填充
- C/C++语言入门——鸡兔同笼问题
- [obs-studio]win32-test项目成功运行