R语言文章复现:NHANES数据库论文生存分析复现!

美国国家健康和营养检查调查(NHANES)是一项旨在评估美国成人和儿童健康和营养状况的研究计划。该调查的独特之处在于它结合了访谈体格检查。由美国疾病控制和预防中心(CDC)负责为国家提供健康统计数据。

NHANES访谈包括人口统计社会经济饮食和健康相关问题检查部分包括医疗牙科生理测量,以及由训练有素的医务人员进行的实验室测试。

近年来公共数据库发文量逐年攀升,NHANES数据库的数据质量较高,每年发文量更是居高不下,并由于数据类型丰富,各种新颖的综合指标层出不穷!

今天的复现文章就为大家带来一篇NHANES数据库有关综合指标的文章的复现,包括全部的代码与处理好的数据也一并提供给大家

f454cf6a5c75afa90236d0ec8a195cd1.png

本文主要内容:

1.复现文章介绍

2.R语言复现

3.风暴统计平台复现

一、复现文章介绍

今天要介绍的复现文章是发表在《Nutrition Metabolism and Cardiovascular Diseases》(IF=3.9)题为:Association of Life’s Essential 8 with all-cause and cardiovascular mortality among US adults: A prospective cohort study from theNHANES 2005-2014  的研究论文。

117dd75dbc3be54b919a2df0813ac6d5.png

题目:美国成年人生命健康八要素与全因心血管死亡率的关系:NHANES 2005-2014的前瞻性队列研究

01

生命健康八要素

生命八要素(Life's Essential 8),是近年来NHANES数据库文章中使用频率较高的综合指标之一,,包括饮食体力活动吸烟(尼古丁暴露)睡眠健康BMI血脂血糖血压。其中每个指标均有一个新的评分算法(0-100分),最后可生成一个新的复合心血管健康评分(0-100分)

综合评分<50分、50-79分、≥80分,分别提示心血管健康状况较差中等较好

472b081aed38d5853f46de8484477044.png

02

文章数据介绍

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

9e5ef7f0ca4bfe6c8ce9b43e7cebc98e.png

"医学论文与统计分析"公众号回复"241复现文章"获取全部代码与数据

二、R语言复现  

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

  • 基线差异性分析

  • 绘制KM曲线

  • COX回归多模型控制混杂

  • 趋势性分析P trend

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

01

数据导入与预处理

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


f429c1fc3cae0b0fc2d1869786140c59.png

"医学论文与统计分析"公众号回复"241复现文章"获取全部代码与数据

02

基线差异性分析

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

86c6400097d0f149344a01ebc1050300.png

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

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

de5aa47aa7422f9ffec08308cca77f2a.png

"医学论文与统计分析"公众号回复"241复现文章"获取全部代码与数据

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

csv格式结果展示如下:

3b13516eaecbada93a2547967795d187.png

03

绘制KM曲线

这里绘制KM曲线用到了survival包survminer包,如需单独进行logrank检验,survdiff函数直接搞定!

125d535fcb257f01ccfe5a0184364176.png

输出结果读取最后一行的p<2e-16,规范书写应该是p<0.001。

028b7b32d7b093b571ba3870147b225e.png

这里使用surtvfit函数构建模型,ggsurvplot函数负责图形的绘制与美化,其中有许多的参数可以进行调整,这里在代码旁边都进行了标注,大家可以根据需要进行调整。

b48fbd8766e598051693cccd1358bec3.png

"医学论文与统计分析"公众号回复"241复现文章"获取全部代码与数据

绘图结果展示:

02e402358946e19a8609f122e59573a0.png

04

COX回归

这里使用survival包进行回归模型建模,autoReg包可以美化输出结果,生成三线表格式更加的直观简洁,还可以自定义回归方式,其中"uni=TRUE"指输出单因素结果'threshold"可以定义筛选变量进入多因素回归的P阈值

1efcc04379bbee55d04581976fda637d.png

最后,利用rrtable包将结果输出为word,word版结果同样保存在工作空间中。

以模型3为例,R语言输出结果展示:

dc6a17afd17516921fc40ecdf4aa8790.png

05

趋势性分析 P trend

计算P trend这里介绍2种方式:

  • 直接将等级或定量自变量纳入回归分析

  • 取各组中位数作为特殊值作为趋势分析的节点值

这里更推荐方法②,下面对2种方法分别进行演示:

方法一:直接将等级或定量自变量纳入回归分析

这里as.numeric(CVH1)也就是将原本的分类变量CVH1转换为数值型变量直接纳入回归模型,其余部分代码与普通cox回归一致。

420da5e1fe448a36583a3407c628d8ca.png

"医学论文与统计分析"公众号回复"241复现文章"获取全部代码与数据

结果展示:

a86d5c81cabae429b70bbafe9e4ca0d5.png


方法二:取各组中位数作为特殊值作为趋势分析的节点值

与方法①相比,在进行回归分析前多了一步,那就是选取每组数据的中位数,进行转换,以本次复现数据为例,CVH1变量共有3个分类,使用组内中位数转换,变为特殊的三分类数据。

由于数据转换用到了管道符%>%,因此需要加载dplyr包,完成转换后,和方法①一样进行回归分析,只是使用转换后的CVH3代替了原来的CVH1。

77ddd9fb07c2c549878798af16988943.png

以模型3为例,R语言输出结果展示:

与方法①相比,计算的结果也都略有不同,但大致阳性与阴性方向是一致的。

7ce0951388a3dba209a66b9f54923f31.png

06

绘制RCS曲线

这里同样为大家展示2种R包的绘制方式,分别是plotRCS包或者rms与ggplot包的结合。

方法一:plotRCS包

plotRCS包绘制RCS图像相对更加简单,各参数设置也非常好理解,但是在其他细节方面的调整上就显得有点力不从心了。

07b9129b0236d4cfddb82310bf0ce65e.png

"医学论文与统计分析"公众号回复"241复现文章"获取全部代码与数据

结果图像展示:

d8a4ee98e06ed7be9407121665eb0b49.png


方法二:rms包与ggplot2包的结合

  1. 计算非线性关系P值与HR值

6375d53dcd1c1bd44608e7d3076b08f7.png

2.绘制RCS图像

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

c20bde191c8d08a74e4f2b6688050fbf.png

"医学论文与统计分析"公众号回复"241复现文章"获取全部代码与数据

结果图像展示:

8b22ddc633947099cc9480584ed7ae58.png

三、风暴统计平台复现  


风暴统计平台是以R代码为基础的统计分析平台,具有快捷、准确、简单操作等有带你,目前已经实现了多种统计分析方法的菜单式操作,这里通过文章复现的方式为大家进行全面的展示。

它的网址是www.medsta.cn(在电脑端浏览器打开)

浏览器输入medsta.cn即可(medical statistics缩写)

01

基线差异性分析

进入风暴统计平台后,点击“风暴智能统计”——“回归控制混杂偏倚"——"多模型法控制混杂偏倚",此模块可以一站式解决基线差异性分析COX回归多个模型构建

根据下方图片提示按照步骤逐一操作,右侧就会出现三线表格式的基线差异性表格,操作十分便捷!

P值计算结果与R语言结果一致,并且比R语言多显示了统计量!

b249d7ec96e8d8e3220395a018446136.png

02

COX回归

所谓多模型控制混杂偏倚,即通过构建model1、model2、model3......逐步调整不同的混杂因素,观察核心暴露的P值变化。

目前风暴统计平台可以实现最多构建4个多因素模型,首先,进入"多模型控制混杂偏倚"模块,选择回归模型,依次选入回归变量,右侧给出model1的结果分析。

d0f49928f71807aee3d255d0e819fa06.png

"医学论文与统计分析"公众号回复"241复现文章"获取全部代码与数据

后面model2、model3的构建,根据下方界面提示依次选入,右侧直接生成最终的多模型三线表,省去自己绘表、填写数据的步骤,并且结果HR值,95%CI与P值与R语言均一致

f543aead44dc275aeece612685d65f0f.png

03

绘制KM曲线

风暴统计绘制KM曲线需要从风暴智能统计——生存分析——生存分析全套这里进入,导入数据后,在"生存曲线与生存时间"模块,依次选择变量,右侧就生成了KM曲线。

其中步骤③④可以对图形进行精细化调整,最后直接下载图片,网站由于显示问题导致风险表字体挤压的现象在下载的图片中就恢复正常啦!

a7b5f653dbe152461a08d7ae514c59d0.png

"医学论文与统计分析"公众号回复"241复现文章"获取全部代码与数据

04

趋势性分析 P trend

趋势性分析P trend的计算,需要事先完成数据的转换,例如组内中位数转换,然后再利用平台进行回归分析,例如这里直接将CVH1作为核心定量暴露纳入分析,可以得到一个P值,即为P trend。

0d4f8e4911b4913730efb534afb6d01a.png

05

绘制RCS曲线

绘制RCS曲线需要换一个模块进入,点击风暴智能统计——小白画出精美的统计图——一键绘制RCS曲线

重新导入数据后,根据下方图片提示依次选入变量进行操作,就可以得到RCS图像啦!P值结果与R语言完全相同,并且这个模块为大家提供了R语言代码,通过网站完成分析后,还可以复制代码利用R语言进行验证,同样支持下载高清图片

5b79b2617f944f9174e351f787922f0b.png

本次文章复现就到这里结束,如果您对本次复现代码或数据感兴趣的话,欢迎在“医学论文与统计分析”公众号后台回复 241复现文章获取全套R代码与实操数据


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

一、课程培训

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值