Nomogram文献分析:提取数据

前言

今天教大家如何分析Nomogram类型的文章,并使用我们开发的系统零代码提取数据。

系统地址:https://clinicaldata.fun/

要分析的文章:https://pubmed.ncbi.nlm.nih.gov/36504658/ 。这是一篇典型的mimic-iii数据分析的套路,构建一个Nomogram预测某种结局发生的影响因素。在这里插入图片描述

这个研究旨在调查全身免疫炎症(SII)与颅内出血(ICH)患者在重症监护病房(ICU)的住院死亡风险之间的关联,并进一步开发与SII相关的预测模型,以预测ICH患者的住院死亡风险。

在训练组中,232名ICH患者死亡,708名存活。LASSO回归显示一些预测因子,包括白细胞计数、血糖、血尿素氮、SII、格拉斯哥昏迷评分、年龄、心率、平均动脉压、红细胞、碳酸氢盐、红细胞分布宽度、肝硬化、呼吸衰竭、肾功能衰竭、恶性肿瘤、血管加压药和机械通气。建立了整合这些预测因子的预测模型。在训练组中,量表图下面积(AUC)为0.810,在测试组中为0.822,表明这个量表图可能有良好的性能。

结论:全身免疫炎症与ICU中ICH患者的住院死亡风险增加有关。已开发并验证了一种针对ICU中ICH患者的住院死亡风险的量表图。

第一步:文章思路分析

1. 病人对象 Subject

要提取数据,你首先必须知道自己的研究对象是什么。这篇文章里,研究对象是颅内出血的病人,那么哪些是这些病人呢?需要通过ICD-9、ICD-10进行判断了。文章里面的ICD用的是:

在这里插入图片描述

2. 入组标准

所以入组的研究对象是ICD-9 code是:431, 432, 9487, 77210-77214。首先就要把这些病人挑出来。

3. 排除标准

(1) aged <18 years;

(2) were hospitalized in the ICU for <24 h;

(3) had missing data of SII; and

(4) had missing data of other covariates.

4. 终点指标

你需要知道你要分析的结局指标是啥,这是文章的落脚点。常说的Y。这篇文章里面就是指的住院死亡 in-hospital death

5. 独立因素

就是病人相关的指标了,一般包括基础资料,血氧血气,生化,vital sign,并发症,ICU 评分等等了。一般Table 1都会列出的了,这篇文章大致是:

在这里插入图片描述

6. 分析过程

这个是一般的数据处理过程,大致为:LASSO (单因素分析)–》 多因素逻辑回归 --》Nomogram 构建 --》Nomogram的评价,如ROC/AUC,c-index,IDI, NRI, DCA等等。比如另一篇文章的比较全面的流程图:

在这里插入图片描述

这个分析也是一个大头,考验你的R语言基础和统计学功底。

好了,下面我们开始进行提取数据,并尝试重新这篇简单文章的Nomogram的构建。

第二步:提取数据

其实系统已经设计得很简单,零代码,只需要点点勾勾就能导出你要的数据。一般来讲,大家提取衍生库的内容都够用了,原生库的原始数据一般很粗糙,没有归类总结。比如MIMIC-III数据库的chartevents, labevents,患者的住院期间的图表信息,数据量庞大,也是MIMIC-数据库臃肿的原因。里面其实我们需要的就是些血氧血气生化指标,大部分都在衍生库里面。除非你有些特殊要求,不建议提这个数据。

1. 输入ICD code,选择病人队列

如前面提到的,进入MIMIC-III数据库,点击“ICD搜索”,选择‘Disease’,选择‘全部诊断’ (就是不区分是否第一诊断),搜索框里面输入 431, 432, 9487, 77210, 77211, 77212, 77213, 77214 (多个icd code逗号区分),当然也可以输入关键词,比如 “intracerebral hemorrhage”。所有包含这些字符的ICD code都会显示,找到你想要的,进行勾选,注意 可跨页勾选

在这里插入图片描述
在这里插入图片描述

然后点击按钮确定选择这些病人:

在这里插入图片描述

虽然系统会直接跳到数据提取页面,但是在“输入icustay_ids”这里可以看到你勾选的所有病人的icustay_id:

在这里插入图片描述

做这个输入,是为了给你提供方便,你如果知道自己icustay_id,直接清空之后粘贴,然后点击 “提交icustayid,开始提取数据 ”就可以提取你的病人队列了。文章是1925个,这里有2152个,可能和我选择的ICD code有关,比如我这里勾选了蛛网膜下出血。当有多个ICD code的时候,一定要选准确!

2. 导出数据

这个很简单了。一个个指标勾选,导出数据即可。其实我们的数据主要在“衍生库”里面:

在这里插入图片描述

如果你不知道这些指标叫什么,建议还是多补充背景知识。

如果偷懒些,我帮你预置了一些指标,一步勾选,一键导出即可。

原生数据库,我们只需要病人资料 patients 表,和adminssion表的内容即可。用于后面判断是否住院死亡。

下面是两分钟就提好的这个文章的数据了:

在这里插入图片描述

每个csv都是 tab分格的数据,如果用Excel打开会显示到一行,需要手动导入分割才能看到。一般我们都是在R里面进行后续处理的了。csv文件,直接当txt打开,长这样:

在这里插入图片描述

GCS这个指标对出血病人还是挺重要的。

这样,数据导出就完成了,总共花费了10分钟不到。

下面开始数据合并和处理,建模分析。

第三步:数据预处理

大致分为几个步骤:1)数据合并;2)病人队列排除;3)指标缺失值处理;4)变量初始化。

1. 数据合并

为什么不推荐对所有表进行简单的连接合并?因为你会看到这些表不是所有字段唯一的。

数据导入R里面,先看看数据行数在每个表的情况:

在这里插入图片描述

大部分是2152行数据,和前面的数据icustay_id 数量相符。但血气值有5k多行,patients有2703行,icu_stay只有2144行。而有些数据有缺失,比如vital sign只有2114行。以哪一个表为起始表进行合并要根据实际情况就行。

我这里已admission为起始进行合并,结果如下:

> dim(merge.data)
[1] 2152   94 
# 合并之后有2152个队列,有94个指标

在这里插入图片描述

其中住院死亡是结局:admissions.hospital_expire_flag 表里面直接给出了。

2. 排除病人

标准:1) age < 18; 2) icu 时长超过24 小时

### exclude age less than 18
raw.ready <- raw.ready[raw.ready$icustay_detail.admission_age > 18,]

### exclude patients less than 24 hours
raw.ready <- raw.ready[raw.ready$icustay_detail.los_icu>=1,]

3. 缺失值处理

看看缺失情况:

在这里插入图片描述

缺失大于20%的指标需要删除:

在这里插入图片描述

然后还需要对缺失值进行插值补全。这样数据基本准备好了。可以开始建模进行后续分析了。至此不再赘述。

第四步:欣赏下我们用这个系统做出来的图

在这里插入图片描述
在这里插入图片描述
我们的图表已经发表在TOP期刊 。

最后

重复一遍系统地址:https://clinicaldata.fun/

另外一些功能也还在陆续开发中,敬请期待。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/331916.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

智能小程序开发项目步骤流程

快速开始 在开发小程序之前&#xff0c;请确保电脑上已经安装node运行环境。可前往Node.js官网(opens in a new tab)下载安装。智能小程序环境搭建和面板小程序一致&#xff0c;请参考面板小程序搭建环境指南。 开发小程序的流程&#xff1a; 使用涂鸦开发者 IoT 账号登录 T…

c语言-结构体内存对齐

文章目录 前言一、结构体内存对齐总结 前言 本篇文章介绍结构体内存对齐。 一、结构体内存对齐 定义两个结构体&#xff1a; struct S1 {char c1;int i;char c2; };struct S2 {char c1;char c2;int i; }; //输出结构体大小 int main() {printf("%u\n", sizeof(st…

未来能源转型之路:2023年第十三届中国国际储能大会启示录

在2023年第十三届中国国际储能大会上&#xff0c;全球各地的能源专家、学者和企业代表齐聚一堂&#xff0c;共同探讨了储能技术在推动能源转型中的重要作用。对于我们普通人来说&#xff0c;从这场大会中可以学到什么呢&#xff1f; 一、储能技术是未来能源发展的关键 随着可再…

李沐《动手学深度学习》线性神经网络 softmax回归

系列文章 李沐《动手学深度学习》预备知识 张量操作及数据处理 李沐《动手学深度学习》预备知识 线性代数及微积分 李沐《动手学深度学习》线性神经网络 线性回归 目录 系列文章一、softmax回归&#xff08;一&#xff09;问题背景&#xff08;二&#xff09;网络架构&#xf…

win11启动docker desktop报错 docker desktop unexpected wsl error

win11启动docker desktop报错 docker desktop unexpected wsl error 解决方式&#xff0c; 第一步&#xff1a;控制面板-启动或关闭windows功能窗口勾选下面两个框框 第二步&#xff1a;执行我下面这些命令&#xff0c;不需要重启电脑

Linux:shell脚本:基础使用(7)《exit和break》

exit是结束脚本&#xff0c;不论在脚本任何地方使用&#xff0c;这个脚本就会立马结束&#xff0c;不会继续执行后面的所有命令 break 是结束循环&#xff0c;break只能在循环中使用&#xff0c;并且只对距离自己最近的循环生效&#xff0c;如果循环嵌套循环那么break在哪个循环…

js菜单隐藏显示

1、树状结构对应的表: 2、生成menulist的SQL语句 select {"id":"MenuID","parent":"ParentID","FirstLvMenu":"FirstLvMenu", "text":"MenuName","url":"MenuUrl",&quo…

Linux基础命令和文件操作理解

1.基础命令 快捷键 ctrl alt t 打开终端 ctrl e 跳转终端输入的末尾 ctrl u 清除一行的命令数据 ctrl a 跳转到终端命令开头 ctrl l 清除整个屏幕&#xff0c;不包括当前行 ctrl r 搜索命令 开启历史模式 寻找最近记录的命令&#xff1a;↑ ↓ 移动光标位置 &#xff1a;← →…

游戏《泰坦陨落2》msvcr120.dll丢失的多种解决方法分享

在Windows 11操作系统环境下&#xff0c;众多玩家在体验《泰坦陨落2》这款备受瞩目的射击游戏时&#xff0c;遭遇了一个令人困扰的技术问题&#xff1a;系统提示缺失msvcr120.dll文件。这一关键的动态链接库文件对于游戏的正常运行至关重要&#xff0c;它的缺失直接导致了《泰坦…

拿出最少数目的魔法豆

说在前面 &#x1f388;不知道大家对于算法的学习是一个怎样的心态呢&#xff1f;为了面试还是因为兴趣&#xff1f;不管是出于什么原因&#xff0c;算法学习需要持续保持。 题目描述 请你从每个袋子中 拿出 一些豆子&#xff08;也可以 不拿出&#xff09;&#xff0c;使得剩…

基于Python+django影片数据爬取与数据分析设计与实现

目录 一、 前言介绍&#xff1a; 二 、功能设计&#xff1a; 三、功能实现&#xff1a; 系统登录实现 管理员实现 用户模块实现 四、库表设计&#xff1a; 五、关键代码&#xff1a; 六、论文参考&#xff1a; 七、其他案例&#xff1a; 八、源码获取&#xff1a; 一…

fastJson和jackson的日期数据处理

目录 1.jackson 2.fastjson 3.总结 1.jackson jackson是spring mvc默认的JSON解析方法&#xff0c;前端的数据序列化处理之后&#xff0c;后端经过反序列化处理可以直接使用实体对象进行接收。后端接口返回实体对象&#xff0c;经过序列化处理后前端可以接收并进行处理。 …

目标检测--02(Two Stage目标检测算法1)

Two Stage目标检测算法 R-CNN R-CNN有哪些创新点&#xff1f; 使用CNN&#xff08;ConvNet&#xff09;对 region proposals 计算 feature vectors。从经验驱动特征&#xff08;SIFT、HOG&#xff09;到数据驱动特征&#xff08;CNN feature map&#xff09;&#xff0c;提高特…

响应式Web开发项目教程(HTML5+CSS3+Bootstrap)第2版 例4-4 label

代码 <!doctype html> <html> <head> <meta charset"utf-8"> <title>label</title> </head><body> 性别: <label for"male">男</label> <input type"radio" name"sex&quo…

多输入多输出 | Matlab实现基于LightGBM多输入多输出预测

多输入多输出 | Matlab实现基于LightGBM多输入多输出预测 目录 多输入多输出 | Matlab实现基于LightGBM多输入多输出预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Matlab实现基于LightGBM多输入多输出预测&#xff08;完整源码和数据&#xff09; 1.data为数据集&a…

java多线程(线程池)

1、创建一个可缓存线程池&#xff0c;如果线程池长度超过处理需要&#xff0c;可灵活回收空闲线程&#xff0c;若无可回收&#xff0c;则新建线程。 public static void main(String[] args) {ExecutorService cachedThreadPool Executors.newCachedThreadPool();for (int i …

npm换源

检查现在的源地址 npm config get registry 使用淘宝镜像 npm config set registry https://registry.npm.taobao.org 使用官方镜像 npm config set registry https://registry.npmjs.org/

安全帽/反光衣检测AI边缘计算智能分析网关V4如何修改IP地址?

智能分析网关V4是TSINGSEE青犀推出的一款AI边缘计算智能硬件&#xff0c;硬件采用BM1684芯片&#xff0c;集成高性能8核ARM A53&#xff0c;主频高达2.3GHz&#xff0c;INT8峰值算力高达17.6Tops&#xff0c;FB32高精度算力达到2.2T&#xff0c;硬件内置了近40种AI算法模型&…

Marin说PCB之关于1000 BASE-T1--ESD的处理知多少?

对于板子上的ESD器件想必大家做硬件或者是layout应该的不陌生吧&#xff0c;我们几乎遇到大部分板子上面的接口部分都会添加这个ESD器件&#xff0c;例如那些USB,MIPI接口&#xff0c;百兆/千兆-T1以太网连接器等。 其中T1连接器用的是罗森博格家的&#xff0c;在这个链路中有一…

关于企业微信客服,部署相关问题

从2023年12月1日0点起&#xff0c;不再支持通过系统应用secret调用接口&#xff0c;存量企业暂不受影响 查看详情 只能通过API管理企业指定的客服账号。企业可在管理后台“微信客服-通过API管理微信客服账号”处设置对应的客服账号通过API来管理。操作的客服账号对应的接待人员…