冲刺一区!挑战5天一篇NHANES DAY1-5

Day 1!

今天继续发起一个新的挑战,挑战5天完成一篇NHANES数据库SCI!

第1天主要任务:熟悉数据库+明确选题+确定目标期刊和目标文献

关注我们的朋友知道我们挑战了很多期NHANES。NHANES数据库是美国疾病控制与预防中心(CDC)主导的一个重要数据资源,这个数据库通过抽样调查收集了美国全国范围内的健康与营养状况数据,包括人口统计信息、饮食习惯、身体状况、实验室指标等。NHANES的数据时间跨度大、样本量大、代表性强,能够反映美国人口的健康趋势和变化。这个数据库质量高、代表具有广泛性。

所以NHANES经常被用于发表高影响力的学术论文,特别是在慢性病、营养状况和社会健康差异等领域。这个数据库数据量特别的大、涉及的相关指标很多,所以可以适合各个不同的科室的朋友来挖掘,所以近些年非常的火热,我也再次的来尝试,嘿嘿~

阅读文献的过程中发现了一个新的指标

HRR:hemoglobin-to-red blood cell distribution width ratio 

HRR:血红蛋白与红细胞分布宽度比

我用“NHANES + HRR”进行了初步的检索发现用该指标发的文章很少,正是发文的好时机!我想探索这个新指标和心血管疾病之间的关系,所以又去检索了“NHANES and Cardiovascular diseases”,发文数目和文章的质量都还是不错的,那就这么定啦!

然后检索了这个新指标和我关注的心血管疾病,发现这两者之间的关系没有被写过,所以,就他啦~

用这个指标发文的文章较少,我就根据我关注的疾病Y选择了一个目标杂志,在pubmed上检索然后就选择第一篇最新的文章作为目标文献啦~

我的目标文献就是这篇啦(DOI: 10.1161/JAHA.123.033997)目标期刊就是J Am Heart Assoc。随后去深入了解了这个杂志,不是水刊。发文量和被引数都还可以,那就他啦!

好啦,让我们一起继续探索NHANES数据库!

Day 2!

虽然最近很忙,但挑战不能停~

第2天主要任务:数据库的基本认识+了解数据库的结构和内容

都知道目前公开数据库有很多,如MIMIC、eICU数据库等,但是NHANES数据库的比较特别的点在于:它数据获取相对来说比较的简单。也就是说我们能很方便地下载到原始数据,这对我们这些时间很紧张的“临床打工人”来说是非常友好的。

不过在下载数据前我们得先熟悉数据库的结构,这是我们做任何一个数据库都需要先熟悉他有些什么数据——知道数据库的数据组成,了解数据下载的途径,这样才能嘎嘎乱杀~

从网站上我们可以看到,NHANES数据库内容是非常丰富的。之前试过MIMIC数据库,但数据量太大了,本地安装数据花了很长时间都没搞定,NHANES就没有这个烦恼。

数据库里面有很多不同的年份,比如“2015-2016”,我们叫一个周期,因为NHANES数据库每2年上传一次相关数据,每一个周期里面有很多数据,包括了人口统计学、饮食数据、体格检查、实验室数据、问卷调查和Limited Access Data。我们最常用的是前5个板块。Limited Access Data数据需要申请获得批准后才行,但用前五个板块发文已经是绰绰有余啦~

我们以Examination数据示例,点击进去后就可以看到Doc File和Data File。我们可以通过点击Doc File这列查看这个数据集的一些基本介绍。点击Data File就能下载数据,利用R或者SPPS就能打开这个XPT的数据集文件。比如我要做的这个指标HRR通过将血红蛋白(Hb)浓度除以红细胞分布宽度(RDW)百分比来计算的。,所以我就需要分别下载Hb浓度和RDW的数据,然后再用上述公式计算。

因为一个个数据下载很麻烦,而且后面也会用得到NHANES里面的数据,所以我前期花了一些时间把所有的周期的所有数据全部下载到本地啦哈哈哈。这个工作量还是很大的,不过以后要用数据就可以直接用代码提取啦!方便很多~

好啦,今天的分享就到这里啦!

Day 3!

Day3任务:数据下载+数据清洗

任何一个公开数据库最费时费力的就是数据清洗了,我打算用R来实现,比stata方便很多。

前期我就把所有的数据都下载好啦(非老大劲了),现在主要的目标就是进行数据清洗。去我们下载好的数据中用R将所需要的数据提取出来,但在跑代码之前我们得知道自己需要哪些数据,不然就算下载好的数据摆在我面前也无从下手~

主要有三个方面:

重点关注的指标X(HRR),关注的疾病(心血管疾病,Y),还有一些协变量(Z),具体需要哪些协变量可以根据目标期刊里既往所发表的文献中筛选获得,并不是所有的协变量都需考虑进去,言之有理即可~

我这篇文章主要包括以下协变量:

年龄、性别、种族、教育程度、家庭收入与贫困比(PIR)、咖啡因摄入、总能量摄入、体重指数(BMI)、腰围、吸烟状态、饮酒状态、糖尿病、高血压和高脂血症。

因为之前比较熟悉这个代码啦,所以提数据的时候很easy~用代码提啊提,用半天的时间就搞完了。不过有些数据还是要做的细致一点的~比如说高血压看起来只有是和否,但实际上定义有很多:目前正在口服降压药或血压大于140/90mmHg,其中血压值是由受过培训的人员连续测量三个血压读数,并计算这三个读数的血压平均值。那么也就意味着,需要提取更多的数据来综合组成这个协变量。工程还是很浩大滴!毕竟一区二区的文章也不是风刮来的,但做多了也就熟练啦~猛猛一顿筛选就搞定!

只要数据清晰了,后面的一切都好说,没什么复杂和困难的,重点就是选题(选择指标和idea)+数据提取。这就是我花了很多的时间进行初步检索确定目标期刊、选题的意义,千万不要一来就闷头开跑!

一起加油呀~

Day 4!

第4天任务:完成Table和Figure部分

前期花了3天时间将数据已经提取、清洗好啦,现在的任务就是做出Table和Figure~在具体操作之前呢,肯定要再去看文献啦,模仿文献一步一步来就好啦。常规NHANES文章就是需要下面这些Table和Figure,当然,我们也会看到有很多文章会有一些其他的处理。比如加上了机器学习呀,本质上还是这个思路,只不过在暴露的选择、分析方法会有一些差异。万事开头难,我们就先学会这种最简单的思路,后面我们慢慢学习和挑战别的~

我们进行了提取和总结

Figure 1:研究人群-------数据来源过程(流程图)

对数据处理的过程进行简单的可视化呈现

Table 1:基线资料表-----人群基本信息描述

对比两组之间的基线资料的差异

Table 2:回归分析---X与Y之间有无关系(3个模型)

根据纳入的协变量构建3个不同的模型以评估暴露和结局之间的关系的是否稳健

Figure 2:限制性回归样条--X与Y的剂量效应关系

RCS结果呈现

Table 3:亚组分析---敏感性分析

看X与Y在不同组别(性别,年龄,患某种疾病等)关系是否依旧稳健存在,如果有差异,能否通过目前文献进行合理的解释

这就是NHANES文章的主要结果啦。因为前期已经整理好了数据,后面的分析实际上是非常简单的,选题和整理数据才是最费时间的,也是容易浮躁滴,方向对了,就一定能出成果。

今日份挑战成功~

Day 5!

第5天任务:完成文章写作+投稿

Table和Figure都已经完成啦,后面就是写作。写作实际上是最简单的啦哈哈哈~根据我们的《框架写作法》理清思路后,嘎嘎一顿狂写,写出一篇高质量的文章不在话下~

今天刚好轮到值班,就直接把电脑带去了科室啦,疯狂输出写作!其实昨天跑结果花的时间较少,多余的时间已经把材料方法和结果部分都搞定了。今天将剩余部分补充完整就可以啦~

按照我们之前挑战的经验来说,一般1天能写完初稿,然后再1天完成模块化写作、翻译、润色以及投稿准备。嘻嘻因为今天值班,直接熬个大夜把它搞完~写完后将跑出来的图片和结果放进文章里,然后根据我目标期刊的要求调整格式就好啦~

写完了就调整调整格式然后把文章发给大老板最后Double check

挑战5天完成一篇NHANES,挑战成功!!!

### 使用R语言下载NHANES数据库2017-2020年数据 为了获取特定时间段内的NHANES数据,可以利用`RNHANES`包来简化这过程。该包提供了便捷的方法访问并处理来自不同周期的数据集。 #### 安装必要的软件包 首先需要安装`RNHANES`以及其他可能用到的支持库: ```r install.packages("RNHANES") library(RNHANES) ``` #### 加载所需库 加载已安装好的库以便后续操作: ```r library(dplyr) library(ggplot2) ``` #### 获取具体年度范围的数据 下面展示段脚本用于提取2017至2020年间发布的NHANES资料: ```r # 设置目标调查周期 survey_cycles <- c('2017_2018', '2019_2020') # 创建空列表存储各期次的结果 data_list <- list() for (cycle in survey_cycles){ # 查询当前循环中的单个周期内所有可用组件名称 components <- nhanes_get_components(cycle) # 遍历每个组成部分,并将其加入最终结果集中 for(component_name in names(components)){ temp_df <- get_nhanes_data( component=component_name, cycle=cycle, demographic_vars="ridageyr", # 可根据需求调整变量选择 debug_mode=FALSE # 关闭调试模式提高效率 ) data_list[[paste0(cycle,"_",component_name)]] <- temp_df } } # 将多个子表合并成单表格形式输出 final_dataset <- bind_rows(data_list,.id='source') ``` 这段程序通过遍历指定的时间间(`2017_2018`, `2019_2020`)以及各个分量部分,逐步构建起完整的数据框架[^1]。值得注意的是,在实际应用过程中可以根据研究目的灵活选取感兴趣的字段作为参数传递给函数调用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值