R语言复现:中国Charls数据库一篇现况调查论文的缺失数据填补方法

编者

在临床研究中,数据缺失是不可避免的,甚至没有缺失,数据的真实性都会受到质疑。

那我们该如何应对缺失的数据?放着不管?还是重新开始?不妨试着对缺失值进行填补,简单又高效。毕竟对于统计师来说,对缺失值进行填补也是日常工作之一。

今天为大家带来一篇CHARLS数据库有关缺失值填补的文章复现,包括全部的代码与处理好的数据一并提供给诸位!

复现文章介绍

今天要介绍的文章是发表在《中国慢性病预防与控制》(IF=2.18),题为:“中国城市老年人身体活动与衰弱的相关性研究” 的研究论文。研究结果显示,中高身体活动有助于降低城市老年人的衰弱风险,应对城市老年人开展衰弱筛查,并重视身体活动在降低衰弱风险中的作用,积极引导城市老年人进行身体活动。

743f8ef4710376d24664aace09c16e40.png

本公众号回复“立春”即可获得“立春”临床统计学沙龙PPT,数据等资料

1. 研究设计 

P(Population)参与者:CHARLS2018年城市样本中 60~95岁的老年人。

E(exposure)暴露因素:身体活动水平(PA)。(1周身体活动量(MET-min/周)=对应身体活动的代谢当量(MET)×每天活动时间(min)×1 周活动天数(d);低水平身体活动 MET 赋值为 3.3,中水平身体活动赋值为4.0,高水平身体活动赋值为 8.0;将<600 MET-min/周划分为低水平身体活动,≥600 MET-min/周划分为中高水平身体活动。)

O(outcome)结局:是否衰弱(FI)。(FI 的计算方法为存在健康缺陷的指标数目除以纳入总数,范围为 0~1;本研究将衰弱定义为 FI≥0.25。)              

2. 统计学方法

利用多重填补法对缺失数据进行填补,疾病维度的使用前一期调查数据,使用多因素非条件logistic回归分层logistic回归对结果进行分析。

3290e775367c4117e90cf2df2de0b6ee.png

3. 文章数据介绍

研究涉及charls数据库的变量如下表所示,本次复现所用到的变量也与文章保持一致。

3a5c5c92716d5a34d41dfa20031b3a50.png

811a79f867f1f245405555c2caeec9c7.png

46068f9c9559dca156bc3b257615bb15.png

4. 研究结果

4.1 基线特征

2623 名城市老年人年龄为 60~95 岁,平均年龄为(69.3±7.3)岁,男性1259 人(48.00%),女性 1 364 人(52.00%)。城市老年人的衰弱率为 26.92%。不同年龄、性别、民族、婚姻、教育、地域、居住状态、医疗保险拥有情况以及身体活动水平的城市老年人衰弱率差异均有统计学意义 (P<0.05),见表 1。

b04a4cce87670598f4ce264c712535ea.png

67725fbe345b3215f03df6afcf5a3680.png

4.2 城市老年人身体活动与衰弱的相关性分析

衰弱情况(0=无,1=衰弱)为因变量,身体活动水平作为自变量进行 logistic 回归分析,控制混杂因素后,相比低身体活动,中高身体活动的城市老年人衰弱风险更低(OR=0.243,95%CI:0.181~0.312,P<0.05)。其他控制变量中,除居住状态和医疗保险外,其余因素均与老年人衰弱的发生相关,均有统计学意义(P<0.05)。见表 2。

c5e5f29fe2cb1622a6e47307e752258f.png

4387de7c44e432f981d5503bafa69ec7.png

4.3 中高身体活动对不同特征城市老年人衰弱的影响

以衰弱(0=无,1=衰弱)为因变量,身体活动水平(0=低水平,1=中高水平)为自变量,按性别、受教育水平、婚姻状况和地域进行分层 logistic 回归分析。结果显示,与低身体活动相比,进行中高身体活动对于女性、受教育水平偏高、未婚以及居住在中西部地区的老年人衰弱风险降低的作用更大(P<0.05),见表 3。

434a5942cf8da813e72759fe6c2ac271.png

R语言复现

本次复现包括的统计学方法有:

  • 基线差异性分析

  • 缺失数据填补

  • 多因素logistic回归

  • 分层logistic回归

1.数据导入

首先,导入我们从charls数据库中提取处理好的数据,本次复现数据包括3816名研究对象(原文章n=2623),样本量略有出入,这里大家请多关注统计方法的运用。

51ba9c5a06fc5d4400e3dfad25f06d40.png

2.基线差异性分析

本次复现基线表格用到了tableone包,这里“myVars”汇总了基线表中的全部变量,其中有部分变量为分类变量,则需要通过“catVars”进行指定,否则分类数据也将以定量数据进行展示。

f52dc3c45d6cf9139dc8d2e4de065186.png

这里tab2中未指定分组变量,则仅展示各变量的数据分布,此外,“showAllLevels = TRUE”表示展示分类变量所有分类因子的结果,“nonnormal =”指定的定量数据将以偏态分布进行分析,如果所有定量数据都是偏态分布,可以简洁的用“nonnormal = TRUE”来表示。

97b5cb4fd3e8192d8dee6ac9c0933464.png

最后,将基线表结果输出保存在工作空间里,这里我们设置保存为csv格式!

3. 缺失值情况

首先对我们所需要用到的研究因素进行批量因子化,并查看缺失值的特征,进行缺失值可视化。

0a15505827593f32e275aac49c36fdad.png

以下是可视化的结果。

6840fb82b56a042990515548e4f64070.png

4.缺失值填补,多因素logistic回归

利用mice包进行缺失值的填补,m:多重插补法的数量,默认为 5。method:指定数据中每一列的输入方法。1)数值型数据适用 pmm;2)二分类数据适用 logreg;3)无序多类别数据适用 ployreg;4)有序多分类变量适用 polr。默认方法为 pmm 。maxit:迭代次数,一般为 50。

使用with函数对所有数据集进行分析,在填补的数据集中计算身体活动和衰弱指标,按照分组标准进行赋值,并进行多因素logistic回归,最后使用pool函数对结果进行汇总输出。

eb06b231545816e33037130a216b476b.png

结果展示:

52672e1419ec7e444233b1444410fdb8.png

5.分层logistic回归

将各组挑出组成新的数据集,在各个数据集中进行分层logistic回归

b569613474148100628192fda6a7368b.png

结果展示:

7ba93654bc06dc589fb1715be32610f0.png

1a0ccccf27a06a91969334caa8e88501.png

后记

缺失值填补,简单来说就是,人为的地给我们没有观测到的变量赋予一个值,并将这个值用于分析。这样做,虽然听起来可能比较主观,不太科学,但实际上,这也是我们不得不采取的措施。

试验中存在缺失值,本来是一件遗憾的事情,但是我们可以适当“调整”,对缺失进行填补,这难道不比重新开始更方便吗?

相信看完了全文的读者对于缺失数据填补已经有了大致的了解,如果想要了解更多,不妨关注本公众号,我们会带来更多缺失数据文章的复现!敬请期待!!

本公众号回复“立春”即可获得“立春”临床统计学沙龙PPT,数据等资料


本公众提供各种科研服务了!

一、课程培训

2022年以来,我们召集了一批富有经验的高校专业队伍,着手举行短期统计课程培训班,包括R语言、meta分析、临床预测模型、真实世界临床研究、问卷与量表分析、医学统计与SPSS、临床试验数据分析、重复测量资料分析、nhanes、孟德尔随机化等10余门课。如果您有需求,不妨点击查看:

发文后退款:2024-2025年科研统计课程介绍

二、数据分析服务

浙江中医药大学郑老师团队接单各项医学研究数据分析的服务,提供高质量统计分析报告。有兴趣了解一下详情:

课题、论文、毕业数据分析 

 临床试验设计与分析 、公共数据库挖掘与统计

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

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

相关文章

深入浅出计算机网络 day.1 概论④ 计算机网络的定义和分类

不要退却&#xff0c;要绽放魅力 我的心会共鸣 和你 —— 24.3.9 一、计算机网络的定义 计算机网络早期的一个最简单定义 现阶段计算机网络的一个较好的定义 二、计算机网络的分类 按交换方式分类 按使用者分类 按传输介质分类 按覆盖范围分类 按拓扑结构分类&#xff0c;可…

【C语言】linux内核ip_generic_getfrag函数

一、讲解 这个函数ip_generic_getfrag是传输层用于处理分段和校验和的一个辅助函数&#xff0c;它通常用在IP层当需要从用户空间拷贝数据构建成网络数据包时。这个函数的实现提供了拷贝数据和进行校验和计算&#xff08;如果需要的话&#xff09;的功能。函数的参数解释如下&a…

指针--2

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言1.指针运算1.1.指针-整数1.2.指针-指针1.3.指针的关系运算 2.野指针2.1 野指针成因2.2 如何规避野指针 3.assert 断言4.指针的使用和传址调用4.1 strlen的模拟实…

汇编语言程序设计实验四

实验目的和要求 1、熟练掌握汇编语言的程序格式&#xff0c;程序设计方法&#xff1b;学会使用masm6.11对源程序进行编译、链接、调试和运行 2、利用DOS功能调用INT21H的2号和9号功能进行屏幕显示的方法。 3、利用^Break退出程序的方法及局限性。 4、汇编程序的编写 实验环…

微服务自动化管理初步认识与使用

目录 一、ETCD 1.1、ETCD简介 对于实施工程师&#xff1a; 1.2、特点 1.3. 使用场景 1.4、 关键字 1.5 工作原理 二、ETCD的安装 2.1、下载路径 2.2、介绍 2.3、具体操作 安装服务端 安装etcd客户端 测试 三、ETCD使用 3.1、前奏具体操作 3.2、 常用操作 一、ET…

递归、搜索与回溯算法简介

何为递归&#xff1a;递归就是递去归来&#xff0c;函数自己调用自己的情况。 不在意递归的细节展开图 把递归的函数当成黑盒&#xff08;给黑盒一个东西&#xff0c;它就能完成想要的事&#xff09; 相信黑盒一定能完成这个任务 深度优先遍历和深度优先搜索都是指一个东西dfs…

德国史托斯 KARL STORZ tricam SLII telecam SLII SCBI thermoflator xenen 300 维修

德国史托斯 KARL STORZ tricam SLII telecam SLII SCBI thermoflator xenen 300 维修

微信小程序-侧滑删除

简介 movable-view和movable-area是可移动的视图容器&#xff0c;在页面中可以拖拽滑动。 本篇文章将会通过该容器实现一个常用的拖拽按钮功能。 使用效果 代码实现 side-view.wtml 布局见下面代码&#xff0c;left view为内容区域&#xff0c;right view为操作按钮&a…

公众号IP白名单已添加服务器IP 122.88... 依然给出 40164 错误

公众号的IP白名单已添加 122.88... 依然给出 40164 错误。 {"errcode":40164,"errmsg":"invalid ip 122.88... ipv6 ::ffff:122.88..., not in whitelist rid: 65e85a07-458dfc0d-16003e03"} 解决方案&#xff1a; 一、检查 AppID 是否正确&…

xxl-job学习记录

1、应用场景 例&#xff1a; 某收银系统需要在每天凌晨统计前一天的财务分析、汇总 某银行系统需要在信用卡还款日前三天发短信提醒等 2、为什么需要使用任务调度 spring中提供了注解Scheduled的注解&#xff0c;这个注解也可以实现定时任务的执行 我们只需要在方法上使用这…

药业“钉”上云端:与钉钉共舞数字化新时代

在信息化、智能化的时代背景下&#xff0c;药业行业的经营管理面临着巨大的机遇与挑战。一家药业公司经营范围广泛&#xff0c;拥有各种传统药物配方&#xff0c;同时现代化的新物流线和ERP系统支持公司能够更好的运营。该药业公司与无雀科技商谈后&#xff0c;决定与钉钉平台合…

Github 2024-03-10php开源项目日报Top10

根据Github Trendings的统计,今日(2024-03-10统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量PHP项目10Blade项目1Laravel:表达力和优雅的 Web 应用程序框架 创建周期:4631 天开发语言:PHP, BladeStar数量:75969 个Fork数量:24281 次…

【Docker】golang使用DockerFile正确食用指南

【Docker】golang使用DockerFile正确食用指南 大家好 我是寸铁&#x1f44a; 总结了一篇golang使用DockerFile正确食用指南✨ 喜欢的小伙伴可以点点关注 &#x1f49d; 问题背景 今天寸铁想让编写好的go程序在docker上面跑&#xff0c;要想实现这样的效果&#xff0c;就需要用…

【电路】工作于直流4.5V电压的声控小灯

这个声控小灯用于控制4.5V直流供电的小灯泡&#xff0c;可用作学生实验也可用作声控夜光小灯。电路主要由5G555时基集成电路和一些分立元件组成&#xff0c;如下图所示&#xff1a; 工作原理 压电陶瓷片B与晶体三极管VT1&#xff0c;电阻R1&#xff0c;和电阻R2等组成了声控脉…

数据库 — 增删查改

一、操作数据库、表 显示 show databases;创建 create database xxx;使用 use xxx; 删除 drop database xxx;查看表&#xff1b; show tables; 查看表结构 desc 表名; 创建 create table 表名(字段1 类型1&#xff0c;字段2 类型2&#xff0c;.... ); 删除 drop table 表名; 二…

博途PLC 低通滤波器(Tustin变换)

1、SMART PLC Tustin变换(双线性变换)低通滤波器 https://rxxw-control.blog.csdn.net/article/details/136551330https://rxxw-control.blog.csdn.net/article/details/1365513302、博途PLC RC低通滤波器(后向差分法) https://rxxw-control.blog.csdn.net/article/details/1…

uniapp 解决请求出现 /sockjs-node/info?t=问题

1. uniapp请求出现 /sockjs-node/info?t问题 1.1. 问题 uniapp项目老是出现 http://192.168.2.106:8080/sockjs-node/info?t1709704280949 1.1. sockjs-node介绍 sockjs-node 是一个JavaScript库&#xff0c;提供跨浏览器JavaScript的API&#xff0c;创建了一个低延迟、全…

Matlab|【EI复现】电动汽车集群并网的分布式鲁棒优化调度模型

目录 1 内容简介 2 关键知识点 2.1 三类电动汽车模型 3 程序结果 4 下载链接 1 内容简介 电动汽车的数据模型种类繁多&#xff0c;但是用到比较高阶数学方法的并不多&#xff0c;本次分享的程序是下图所示的文章。 采用分布鲁棒优化模型&#xff0c;用到鲁棒对等转换&…

CentOS 7 devtoolset编译addressSanitizer版本失败的问题解决

在我的一个Cent OS7开发环境中&#xff0c;按https://yeyongjin.blog.csdn.net/article/details/134178420的方法升级GCC版本到8.3.1。 这两天&#xff0c;要用Google的addressSanitizer检验内存问题&#xff0c;加上编译参数后&#xff0c;却发现编译不通过。configure时直接退…

【滑动窗口】力扣239.滑动窗口最大值

前面的文章我们练习数十道 动态规划 的题目。相信小伙伴们对于动态规划的题目已经写的 得心应手 了。 还没看过的小伙伴赶快关注一下&#xff0c;学习如何 秒杀动态规划 吧&#xff01; 接下来我们开启一个新的篇章 —— 「滑动窗口」。 滑动窗口 滑动窗口 是一种基于 双指…