缺失数据3 | CHARLS数据库论文缺失数据填补!

编者

这是缺失数据填补的系列文章第三篇。

复现文章介绍

今天要介绍的复现文章是发表在《Cardiovasc Diabetol》(一区top,IF= 9.30)的题为“Association between the cumulative average triglyceride glucose-body mass index and cardiovascular disease incidence among the middle-aged and older population: a prospective nationwide cohort study in China”的研究论文。

2bf96332d70cceb6ebf767fd3b843ddf.png

题目:中老年人群累积平均甘油三酯葡萄糖-体重指数与心血管疾病发病率的关系

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

1. 研究设计 

P(Population)研究对象:选择2011(wave 1)和2015(wave 3)的数据,最终纳入5418名CHARLS数据库参与者。

E(Exposure)暴露:根据累积平均TyG-BMI(甘油三酯葡萄糖-体重指数)的四分位数分为四组(Q1-Q4)。

O(Outcome)结局:是否发生CVD(心血管)事件。                     

S(Study design)研究类型:回顾性队列研究。

2. 统计学方法

2.1 为了保持尽可能大的样本量,尽管缺失数据的比例很小,但我们采用了多重插补方法来解决缺失变量。

d0f27cfe04a27b8ea1ed3221fcf67392.png

c1068975ec501f2d3710130dfdd67e7f.png

2.2 为了评估累积平均TyG-BMI与CVD发病率之间的关系,建立了单变量和多变量logistic回归模型,并给出了比值比(OR)及其95%置信区间(95% CI)。

9323ed9804d9571883088cf1641839df.png

2.3 此外,进行多变量调整(完全调整)限制性三次样条(RCS) logistic回归分析(分别选取4节、5、35、65和95百分位),检验累积平均TyG-BMI与CVD发病率之间的线性关系和剂量-反应关系。

939bd1c400b8560bc8f786202e377f2a.png

2.4 为了检测潜在的修饰作用,进行了各种亚组分析相互作用分析。

c611071f9fb923c93ba04ef91323ab03.png

4838a40c5a27ef3c227de62dd7cfe0ce.png

2.5 敏感性分析

316416d51d0ec22ba7e04c245478d12d.png

3. 文章数据介绍

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

aa7418571695be0583212564e011a7b6.png

bbad7382ee51c6fed90e5621016ff58c.png

R语言复现

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

  • 基线差异性分析

  • 缺失数据填补

  • 多因素logistic回归

  • 绘制限制性立方样条图(RCS)

  • 亚组分析以及交互作用分析

  • 绘制森林图

1. 首先,加载R包和导入数据。

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

83dd3914ad93bd49bc4c9b5c7c262441.png

2. 基线差异性分析

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

e8a63336115934b6a1f69a64811987fa.png

这里tab1与tab2展示了2种统计描述的方式,tab1中未指定分组变量,则仅展示各变量的数据分布,tab2中利用strata =指定了分组变量,在展示数据分布的基础上,增加了分组数据间的差异性比较。

29c3129f2b5fd0283958af772c9a8e08.png

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

csv格式结果展示如下:

8932007ee63702a5caf0a411e041d9fa.png

c34815340fdbba3cdc3e20acf5772b03.png

3. 缺失数据填补

首先,使用VIM包检查缺失值情况,进行可视化

6b38a206fd55efce30c33de0c539ed8b.png

511dfb4da1ea341dae7d1f634260f2d4.png

利用mice包对缺失数据进行多重插补,m:多重插补法的数量,默认为 5。method:指定数据中每一列的输入方法。

  • 数值型数据适用 pmm;

  • 二分类数据适用 logreg;

  • 无序多类别数据适用 ployreg;

  • 有序多分类变量适用 polr。

  • 默认方法为 pmm 。

  • maxit:迭代次数,一般为 50。

5f33311444cd1d883945adbc93e2d711.png

4. 多因素logistics回归 

使用with函数对所有数据集进行分析,在填补的数据集中进行多因素logistic回归,最后使用pool函数对结果进行汇总输出。

首先,将TyG-BMI按四分位数分组进行多因素logistics回归分析。

5715a9d22826e47d079c3ca6cb0e6da9.png

运行结果如下:

e52ab708a83acad2f1f75e94b756381a.png

建立自定义函数,用于计算OR值及其95%置信区间,并输出β、S.E和P值。

419a6720aec957fc2be185977a1ecb2c.png

运行结果如下:

196bbbfab10ec0d92c2a80446d5b20cd.png

然后,将TyG-BMI按每升高一个SD进行多因素logistics回归分析,需要对TyG-BMI进行标准化。同上,建立自定义函数,用于计算OR值及其95%置信区间,并输出β、S.E和P值。

c8a2ca8af690cb61eaa5be0fb4de7a45.png

运行结果如下:

e1ae627bc18447acb930f7df85ebc7dd.png

5. 绘制限制性立方样条图(RCS)

计算非线性关系P值与OR值。

fed66c4cd52e612226b4d74169e9186c.png

利用ggplot2包rms包绘制RCS图,ggplot2包绘制图像就会灵活许多,譬如说添加一条辅助线,"geom_hline"指辅助线的纵轴位置,"linetype=2"定义线条类型为虚线,同理,"geom_vline"指辅助线的横轴位置,这里的"xintercept"值需要查询我们上一步计算的OR表,找到OR=1对应的变量值。

b02ac3042ed485667db8f333639726db.png

运行结果如下:

797eaf4fb85c78032cf14a163516a572.png

6. 亚组分析以及交互作用分析

通过subset函数进行分组,生成新的数据集,下面以年龄age1为例进行亚组分析,利用tableone包ShowRegTable函数产生OR值和置信区间,之后只要将”data= “改为相应的数据集即可。

d19ab6b859e4b55e76be328e56a89171.png

c24547210348df5554b51a8814e32d02.png

运行结果如下:

c1c4eb4c184c00341fdf458b259b0bb8.png

以年龄age为例进行交互作用分析,计算P for interaction

b45a72ce40faa7bda57224b349af46eb.png

运行结果如下:

b6e9ba2fab7eddf23abcf352da3936e5.png

15cf1e88e8f9e6143688ad47c806e0a7.png

7. 绘制森林图

利用forestplot包绘制森林图。

cbb0464a833f704670b5037947b5ecf8.png

5183654195e7202f5200826e2e02e8fa.png

运行结果如下:

2866f1171dc0f3f1f82d4af0244c1ee6.png

后记

多重填补(multiple imputation,MI)是当前非常主流也是最受青睐的一种缺失值填补的方式,相较于删除,该方法可以将数据进行充分的应用,保证样本的代表性以及结果的可信度。

但是在使用多重填补法分析数据时,要根据实际情况选择填补次数,有学者建议填补次数应>5次,从而避免产生较大的误差;也有研究认为填补次数至少大于分析模型中缺失数据的百分比,例如缺失数据比例为30%,则填补次数应>30次。

如果看了本文依旧对多重插补一知半解或者对缺失值填补感兴趣,不妨看一下本公众号其他文章,希望能为各位读者在遇到相似的情况时提供可行的思路与方法。

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

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

一、课程培训

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

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

二、数据分析服务

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

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

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

相关推荐

  1. python-数据分析-缺失值-函数-数据类型

    2024-03-15 14:00:05       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-15 14:00:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-15 14:00:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-15 14:00:05       82 阅读
  4. Python语言-面向对象

    2024-03-15 14:00:05       91 阅读

热门阅读

  1. LeetCode hot100-11

    2024-03-15 14:00:05       36 阅读
  2. C#学习汇总

    2024-03-15 14:00:05       42 阅读
  3. DP-力扣 120.三角形最小路径和

    2024-03-15 14:00:05       37 阅读
  4. C++由动态链接库dll生成lib文件

    2024-03-15 14:00:05       39 阅读
  5. Filebeat rpm方式安装及配置

    2024-03-15 14:00:05       44 阅读
  6. ESP32 域名解析得到IP地址

    2024-03-15 14:00:05       44 阅读
  7. 蓝桥杯2023年-三国游戏(贪心)

    2024-03-15 14:00:05       47 阅读