R语言使用dietaryindex包计算NHANES数据多种健康饮食指数 (HEI等)(1)

news2024/10/6 18:29:40

健康饮食指数 (HEI) 是评估一组食物是否符合美国人膳食指南 (DGA) 的指标。Dietindex包提供用户友好的简化方法,将饮食摄入数据标准化为基于指数的饮食模式,从而能够评估流行病学和临床研究中对这些模式的遵守情况,从而促进精准营养。

在这里插入图片描述
该软件包可以计算以下饮食模式指数:
• 2020 年健康饮食指数(HEI2020 和 HEI-Toddlers-2020)
• 2015 年健康饮食指数 (HEI2015)
• 另类健康饮食指数(AHEI)
• 控制高血压指数 (DASH) 的饮食方法
• DASH 试验中的 DASH 份量指数 (DASHI)
• 替代地中海饮食评分 (aMED)
• PREDIMED 试验中的 MED 份量指数 (MEDI)
• 膳食炎症指数 (DII)
• 美国癌症协会 2020 年饮食评分(ACS2020_V1 和 ACS2020_V2)
• EAT-Lancet 委员会 (PHDI) 的行星健康饮食指数
下面咱们来演示一下,首先要安装这个包,使用下面代码安装

library(devtools) # Load devtools
install_github("jamesjiadazhan/dietaryindex")

安装好后,按作者的要求,先导入依赖包,然后再倒入R包

library(dplyr)
library(haven)
library(readr)
library(dietaryindex)

咱们以2020 年健康饮食指数(HEI2020)为例子,咱们先来看下它的函数HEI2020_NHANES_FPED,它的函数结构是

HEI2020_NHANES_FPED(
  FPED_PATH = NULL,
  NUTRIENT_PATH = NULL,
  DEMO_PATH,
  FPED_PATH2 = NULL,
  NUTRIENT_PATH2 = NULL
)

咱们看下这几个参数的说明
FPED_PATH
FPED 数据的文件路径。文件名应为:fped_dr1tot_1112.sas7bdat

NUTRIENT
NUTRIENT 数据的文件路径。文件名应为 DR1TOT_J.XPT

DEMO_PATH
DEMOGRAPHIC 数据的文件路径。文件名应为 DEMO_J.XPT

FPED_PATH2
FPED2 数据的文件路径。文件名应为: fped_DR2tot_1112.sas7bdat

NUTRIENT_PATH2
NUTRIENT2 数据的文件路径。文件名应类似于 DR2TOT_J.XPT

其中FPED_PATH和FPED_PATH2(第一天和第二天)是一起的,DEMO_PATH 和NUTRIENT_PATH2 一起的(第一天和第二天),等于分成3个部分。

FPED 人口文件是指 WWEIA 中食品的食品模式等效文件,可以在这个网址下载:https://www.ars.usda.gov/northeast-area/beltsville-md-bhnrc/beltsville-human-nutrition-research-center/food-surveys-research-group/docs/fped-databases/
打开页面后,如果咱们想研究2017-2018年的
在这里插入图片描述
进入界面后选择Food Patterns equivalents for foods in the WWEIA, NHANES 2017-2018这里就是第一天和第二天的

在这里插入图片描述
最后得到如下图两个文件

在这里插入图片描述
这两个文件还要进一步解压才行,最后得到fped_dr1tot_1718.sas7bdat和fped_dr2tot_1718.sas7bdat这两个数据文件

营养人群文件是指饮食访谈中的文件 - 总营养摄入量,第一天或第二天,可以在这个地址下载,后面这Year=这里可以选择年份,我们选2017年和2018年的
https://wwwn.cdc.gov/nchs/nhanes/search/datapage.aspx?Component=Dietary&CycleBeginYear=2017

然后选择第三和第四个就是第一和第二天了,要是这种TOT的文件

在这里插入图片描述

最后的DEMO文件是指人口统计变量和样本权重中的DEMO文件,在下面这个地址可以下载,选年份和上面是一样的
https://wwwn.cdc.gov/nchs/nhanes/search/datapage.aspx?Component=Demographics&CycleBeginYear=2017

这里不用选,直接下载就可以了

在这里插入图片描述
至此,咱们已经把HEI2020_NHANES_FPED函数所需要的5个文件全部下载完成,咱们把文件导入

library(haven)
setwd("E:/公众号文章2024年/dietaryindex包计算营养指数")
DEMO_PATH = read_xpt(file ='DEMO_J.XPT')#人口数据
FPED_PATH_1 = read_sas('fped_dr1tot_1718.sas7bdat')#第一天数据
NUTRIENT_PATH_1 = read_xpt(file ='DR1TOT_J.XPT')#第一天数据
FPED_PATH_2 = read_sas('fped_dr2tot_1718.sas7bdat')#第二天数据
NUTRIENT_PATH_2 = read_xpt(file ='DR2TOT_J.XPT')#第二天数据

把数据导入后就可以计算啦

dt<-HEI2020_NHANES_FPED(FPED_PATH = FPED_PATH_1, NUTRIENT_PATH = NUTRIENT_PATH_1,
                        DEMO_PATH = DEMO_PATH, 
                        FPED_PATH2 = FPED_PATH_2, NUTRIENT_PATH2 = NUTRIENT_PATH_2)

在这里插入图片描述
这样结果就出来了,其实作者还提供了更加简便的方法,在作者空间,作者已经把多个年份的数据打包,我们直接下载下来就可以用了,

在这里插入图片描述
比如2017-2018年是R包自带的数据

data("NHANES_20172018")
dt2<-HEI2020_NHANES_FPED(FPED_PATH = NHANES_20172018$FPED, NUTRIENT_PATH = NHANES_20172018$NUTRIENT,
                    DEMO_PATH = NHANES_20172018$DEMO, 
                    FPED_PATH2 = NHANES_20172018$FPED2, NUTRIENT_PATH2 = NHANES_20172018$NUTRIENT2)

哈,两步搞定,两个方法结果是一样的,有兴趣的自己试一下。

在这里插入图片描述
作者说了,目前得到的是未加权的数据,还需要加权处理一下,咱们先把数据合并一下

NHANES_20172018_design_d1 = NHANES_20172018$FPED %>%
   filter(!is.na(WTDRD1)) %>%
   ## select the variables needed for the survey design
   select(SEQN, SDMVPSU, SDMVSTRA, WTDRD1)
NHANES_20172018_design_d1_HEI2020 = inner_join(dt, NHANES_20172018_design_d1, by = "SEQN") 

在这里插入图片描述
生成调查数据

library(tableone)
library(survey)

NHANES_design_1718_d1 <- svydesign(
   ## Masked variance pseudo-PSU
   id = ~SDMVPSU, 
   ## Masked variance pseudo-stratum
   strata = ~SDMVSTRA, 
   ## Dietary day one sample weight
   weight = ~WTDRD1, 
   data = NHANES_20172018_design_d1_HEI2020, 
   nest = TRUE)

最后分析

dput(names(NHANES_20172018_design_d1_HEI2020))##输出变量名
allVars <-c("RIDAGEYR", "HEI2020_ALL", "HEI2020_TOTALFRT", "HEI2020_FRT", 
            "HEI2020_VEG", "HEI2020_GREENNBEAN", "HEI2020_TOTALPRO", "HEI2020_SEAPLANTPRO", 
            "HEI2020_WHOLEGRAIN", "HEI2020_DAIRY", "HEI2020_FATTYACID", "HEI2020_REFINEDGRAIN", 
            "HEI2020_SODIUM", "HEI2020_ADDEDSUGAR", "HEI2020_SATFAT", "SDMVPSU", 
            "SDMVSTRA", "WTDRD1")###所有变量名
fvars<-c("SDMVPSU")#分类变量定义为fvars
Svytab2<- svyCreateTableOne(vars = allVars,
                            data =NHANES_design_1718_d1 ,
                            factorVars = fvars)
Svytab2

在这里插入图片描述
对于其他的指标也是一样的。今天简单的介绍了HEI2020指数的计算,其他指数也是一样的,未完待续。

参考文献:

  1. dietaryindex包说明
  2. https://github.com/jamesjiadazhan/dietaryindex
  3. https://jamesjiadazhan.github.io/dietaryindex_manual/
  4. https://mp.weixin.qq.com/s/Wbu58wdsgGVVI5aQ-d4LzA

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

能在手机上运行,仅仅0.5B大小的小语言模型MobiLlama

模型介绍 该模型基于LLaMA-7B架构设计&#xff0c;旨在能够在边缘设备上高效运行&#xff0c;无需将数据发送到远程服务器或云端处理。如智能手机、平板电脑、智能手表等。MobiLlama模型虽然体积小、对资源的需求低&#xff0c;但仍能提供高精度的语言理解和生成能力。项目还提…

fastjson序列化MessageExt对象问题(1.2.78之前版本)

前言 无论是kafka&#xff0c;还是RocketMq&#xff0c;消费者方法参数中的MessageExt对象不能被 fastjson默认的方式序列化。 一、查看代码 Override public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs,ConsumeConcurrentlyContext context) {t…

C语言——深度剖析数据在内存中的存储——第2篇——(第25篇)

坚持就是胜利 文章目录 三、浮点型在内存中的存储1、一个例子2、浮点数存储规则1、IEEE 754对 有效数字M 和 指数E &#xff0c;还有一些特别规定。2、至于 指数E&#xff0c;情况比较复杂&#xff0c;首先&#xff0c;E 为 一个无符号整数(unsigned int)3、然而&#xff0c;指…

防御保护:防火墙内容安全

一、IAE&#xff08;Intelligent Awareness Engine&#xff09;引擎 二、深度检测技术(DFI和DPI&#xff09; 1.DPI – 深度包检测技术 DPI主要针对完整的数据包&#xff08;数据包分片&#xff0c;分段需要重组&#xff09;&#xff0c;之后对数据包的内容进行识别。&#x…

c# .net8 香橙派orangepi + hc-04蓝牙 实例

这些使用c# .net8开发&#xff0c;硬件 香橙派 orangepi 3lts和 hc-04蓝牙 使用场景&#xff1a;可以通过这个功能&#xff0c;手机连接orangepi进行wifi等参数配置 硬件&#xff1a; 1、带USB口的linux开发板orangepi 2、USB 转TTL 中转接蓝牙&#xff08;HC-04) 某宝上买…

openGauss学习笔记-230 openGauss性能调优-系统调优-配置并行查询功能

文章目录 openGauss学习笔记-230 openGauss性能调优-系统调优-配置并行查询功能230.1 适用场景与限制230.2 资源对SMP性能的影响230.3 其他因素对SMP性能的影响230.4 配置步骤 openGauss学习笔记-230 openGauss性能调优-系统调优-配置并行查询功能 openGauss的SMP并行技术是一…

双流机场到天府机场ADS-B数据导入MATLAB

MATLAB导入数据 导入的数据Excel部分截图&#xff1a; 一些处理 % 导入外部轨迹数据并转成标准形式 clear;clc; %% 导入&预处理 [NUM,TXT,RAW]xlsread(2021年10月31日CTU-TFU); time_cell RAW(3:end,1); %拉取时间数据&#xff08;cell&#xff09; time_char char(t…

【清理mysql数据库服务器二进制日志文件】

清理前后比对 清理前占用 86% &#xff1a; 清理后占用 29% &#xff1a; 排查占用磁盘较大的文件 检测磁盘空间占用 TOP 10 # 检测磁盘空间占用 TOP 10 $ sudo du -S /var/log/ | > sort -rn | # -n选项允许按数字排序。-r选项会先列出最大数字&#xff08;逆序&#x…

智慧应急:构建全方位、立体化的安全保障网络

一、引言 在信息化、智能化快速发展的今天&#xff0c;传统的应急管理模式已难以满足现代社会对安全保障的需求。智慧应急作为一种全新的安全管理模式&#xff0c;旨在通过集成物联网、大数据、云计算、人工智能等先进技术&#xff0c;实现对应急事件的快速响应、精准决策和高…

eltable 合计行添加tooltip

eltable 合计行添加tooltip 问题描述&#xff1a; eltable 合计行单元格内容过长会换行&#xff0c;需求要求合计行数据超长显示 … &#xff0c;鼠标 hover 时显示提示信息。 解决方案&#xff1a;eltable合计行没有对外的修改接口&#xff0c;想法是 自己实现一个tooltip&a…

代码随想录刷题笔记-Day25

1. 分割回文串 131. 分割回文串https://leetcode.cn/problems/palindrome-partitioning/ 给你一个字符串 s&#xff0c;请你将 s 分割成一些子串&#xff0c;使每个子串都是 回文串 。返回 s 所有可能的分割方案。 回文串 是正着读和反着读都一样的字符串。 示例 1&#xf…

vue使用gitshot生成gif

vue使用gitshot生成gif 问题背景 本文将介绍vue中使用gitshot生成gif。 问题分析 解决思路&#xff1a; 使用input组件上传一个视频&#xff0c;获取视频文件后用一个video组件进行播放&#xff0c;播放过程进行截图生成图片数组。 demo演示上传一个视频&#xff0c;然后生…

Linux:Kubernetes(k8s)——基础理论笔记(1)

我笔记来源的图片以及共享至GitHub&#xff0c;本章纯理论。这是k8s中部分的基础理论 &#x1f447; KALItarro/k8spdf: 这个里面只有一个pdf文件 (github.com)https://github.com/KALItarro/k8spdf&#x1f446; 什么是kubernetes kubernetes 是一个开源的&#xff0c;用于管…

spring boot学习第十三篇:使用spring security控制权限

该文章同时也讲到了如何使用swagger。 1、pom.xml文件内容如下&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instanc…

【亚马逊云科技】通过Amazon CloudFront(CDN)快速访问资源

文章目录 前言一、应用场景二、【亚马逊云科技】CloudFront&#xff08;CDN&#xff09;的优势三、入门使用总结 前言 前面有篇文章我们介绍了亚马逊云科技的云存储服务。云存储服务主要用于托管资源&#xff0c;而本篇文章要介绍的CDN则是一种对托管资源的快速访问服务&#…

Android studio (一) 新建一个Android项目 编程语言为Java

一、下载Android studio 下载 Android Studio 和应用工具 - Android 开发者 | Android Developers 这里我下载的是2023年的 二、新建项目 选择如下模板。 填写项目名、项目保存位置、编程语言、最低支持Android API的版本、打包编译模式 三、报错Connection refused: no …

Python实现向量自回归移动平均与外生变量模型(VARMAX算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 向量自回归移动平均与外生变量模型&#xff08;Vector Autoregression Moving Average with Exogenous…

2023年09月CCF-GESP编程能力等级认证Scratch图形化编程二级真题解析

一、单选题(共10题,共30分) 第1题 我国第一台大型通用电子计算机使用的逻辑部件是( )。 A:集成电路 B:大规模集成电路 C:晶体管 D:电子管 答案:D 第2题 默认小猫角色,运行以下程序,小猫会说?( ) A:45 B:50 C:55 D:60 答案:C 第3题 列流程图的输出结…

【AUCell打分】:评估一个基因集在单细胞转录组的每个细胞中特定的活性程度

AUCell介绍 AUCell是什么&#xff1a;AUCell使用曲线下面积来计算输入基因集的一个有意义的基因子集是否在每个细胞的表达基因中富集。AUC 分数在所有细胞中的分布允许探索特征的相对表达。由于评分方法是基于排名的&#xff0c;因此 AUCell 与基因表达单位和归一化程序无关。…

如何正确的万无一失的学习python?

W...Y的主页 代码仓库分享 在当今数据驱动的时代&#xff0c;Python已经成为最受欢迎的编程语言之一&#xff0c;无论是在数据科学、机器学习、Web开发还是自动化任务中&#xff0c;Python都扮演着关键的角色。其简洁的语法、强大的库支持以及庞大的社区&#xff0c;使其成为…