高维数据的中介效应【中介分析】《R包:HIMA》

允许基于高级中介筛选和惩罚回归技术来估计和测试高维中介效应

Hima包浏览

高维中介示意图

图1. 在暴露和结果之间有高维中介的情况

本包的作用

在确定独立筛选和极小极大凹惩罚技术的基础上,采用联合显著性检验方法对调解效果进行检验。使用蒙特卡罗模拟研究来展示其实际性能,鉴定具有显著中介作用的因子。

分析前准备

# install.packages("HIMA")
# ??hima
library(HIMA)
data(himaDat)# 熟悉数据
head(himaDat$Example1$PhenoData)
#   Treatment   Outcome Sex Age
# 1         1 2.7653005   0  54
# 2         1 0.5754423   1  38
# 3         1 1.7632589   0  29
# 4         1 9.9327242   0  34
# 5         1 1.8183044   0  29
# 6         1 0.1024832   0  55dim(himaDat$Example1$PhenoData)
# [1] 300   4
head(himaDat$Example1$Mediator)glimpse(himaDat$Example1$Mediator)
# num [1:300, 1:300] -2.272 -0.1 0.414 2.275 -0.262 ...
# - attr(*, "dimnames")=List of 2
# ..$ : chr [1:300] "S1" "S2" "S3" "S4" ...
# ..$ : chr [1:300] "M1" "M2" "M3" "M4" ...
dim(himaDat$Example1$Mediator)

dblassoHIMA()

这是使用纠偏LASSO与纠偏LASSO的高维中介分析的函数

纠偏 LASSO (debiased LASSO)

head(himaDat$Example2$PhenoData)dblassohima.logistic.fit <- dblassoHIMA(X = himaDat$Example2$PhenoData$Treatment,Y = himaDat$Example2$PhenoData$Disease,M = himaDat$Example2$Mediator,Z = himaDat$Example2$PhenoData[, c("Sex", "Age")],Y.family = 'binomial',scale = FALSE,verbose = TRUE)
dblassohima.logistic.fit
# 输出结果
#       alpha        beta    gamma   alpha*beta   % total effect  p.joint
# M1  0.6096868  0.07404941 2.096248 0.04514695       2.153703 1.332402e-03
# M2  0.9677835  0.07339861 2.096248 0.07103396       3.388624 4.330462e-08
# M3 -0.6657028 -0.04116939 2.096248 0.02740657       1.307411 1.244578e-03

Hima()

Hima用于估计和检验高维中介效应。

# hima
# Y:连续性变量------
hima.fit <- hima(X = himaDat$Example1$PhenoData$Treatment, Y = himaDat$Example1$PhenoData$Outcome, M = himaDat$Example1$Mediator,COV.XM = himaDat$Example1$PhenoData[, c("Sex", "Age")],Y.family = 'gaussian',scale = FALSE,verbose = TRUE) 
hima.fit
# alpha       beta   gamma alpha*beta % total effect Bonferroni.p       BH.FDR
# M1  0.5771873  0.8917198 2.94202  0.5146893       17.49442 4.844611e-03 1.614870e-03
# M2  0.9137393  0.8461100 2.94202  0.7731240       26.27868 3.279920e-08 3.279920e-08
# M3 -0.7331281 -0.7424343 2.94202  0.5442994       18.50087 1.863286e-04 9.316431e-05# Y:二分类变量-----
hima.logistic.fit <- hima(X = himaDat$Example2$PhenoData$Treatment,Y = himaDat$Example2$PhenoData$Disease,M = himaDat$Example2$Mediator,COV.XM = himaDat$Example2$PhenoData[, c("Sex", "Age")],Y.family = 'binomial',scale = FALSE,verbose = TRUE)
hima.logistic.fit# alpha       beta    gamma alpha*beta % total effect Bonferroni.p       BH.FDR
# M1    0.6096868  1.0393063 2.096248  0.6336514      30.227885 5.914712e-03 1.971571e-03
# M2    0.9677835  1.0148114 2.096248  0.9821177      46.851219 3.703063e-07 3.703063e-07
# M3   -0.6657028 -0.4412061 2.096248  0.2937121      14.011326 3.040410e-03 1.013470e-03
# M266 -0.4870164 -0.2619480 2.096248  0.1275729       6.085776 5.480125e-02 1.370031e-02

hima2()

是hima的升级版,用于评估和检验高维中介效应,支持公式输入

#hima2 
# Y: 连续性变量--------
e1 <- hima2(Outcome ~ Treatment + Sex + Age, data.pheno = himaDat$Example1$PhenoData, data.M = himaDat$Example1$Mediator,outcome.family = "gaussian",mediator.family = "gaussian",penalty = "DBlasso",scale = FALSE) # Disabled only for example data
e1
attributes(e1)$variable.labels# Y: 二分类变量--------
e2 <- hima2(Disease ~ Treatment + Sex + Age, data.pheno = himaDat$Example2$PhenoData, data.M = himaDat$Example2$Mediator,outcome.family = "binomial",mediator.family = "gaussian",penalty = "DBlasso",scale = FALSE) # Disabled only for example data
e2
attributes(e2)$variable.labels# Y: 生存型变量--------e3 <- hima2(Surv(Status, Time) ~ Treatment + Sex + Age, data.pheno = himaDat$Example3$PhenoData, data.M = himaDat$Example3$Mediator,outcome.family = "survival",mediator.family = "gaussian",penalty = "DBlasso",scale = FALSE) # Disabled only for example data
e3
attributes(e3)$variable.labels# M: 中介变量属于Compositional data--------
# Compositional data是指数据记录了一个整体(或者样本)中各个组成部分的相对比例信息。这些数据通常用来描述某些总和为常数(例如100%或者1)的组分。这种类型的数据在不同的领域中都有出现,例如地质学、环境学、生态学和生物信息学中的微生物组数据分析。
# 微生物组数据,也就是关于一个环境(比如说人体肠道)中微生物群落的组成信息,是compositional data的一个典型例子。compositional data的一个关键特性是它们的组分是相对测量的而不是绝对测量的。这就意味着,当一个组分的比例增加时,至少有一个其他组分的比例必定减少,因为它们的总和是一个固定的常数。这种数据的这个特性导致它不能直接像其他类型的数据那样进行分析,因为传统的统计方法往往假定数据是独立的和不受限的。因此,为了分析compositional data,需要使用专门的数学方法和统计模型,例如对数比率分析(log-ratio analysis),本方法使用isometric logratio (ilr)-based transformation (等距对数比)进行分析。e4 <- hima2(Outcome ~ Treatment + Sex + Age, data.pheno = himaDat$Example4$PhenoData, data.M = himaDat$Example4$Mediator,outcome.family = "gaussian",mediator.family = "compositional",penalty = "DBlasso",scale = FALSE) # Disabled only for example data
e4
attributes(e4)$variable.labels# Y: 分位数水平变量# Note that the function will prompt input for quantile level.
e5 <- hima2(Outcome ~ Treatment + Sex + Age, data.pheno = himaDat$Example5$PhenoData, data.M = himaDat$Example5$Mediator,outcome.family = "quantile",mediator.family = "gaussian",penalty = "MCP", # Quantile HIMA does not support DBlassoscale = FALSE, # Disabled only for example datatau = c(0.3, 0.5, 0.7)) # Specify multiple quantile level
e5
attributes(e5)$variable.labels

qHIMA()

这是第2种方法:用于估计和检验高维分位数的中介效应。[注:第1种方法:hima2()]

# qHIMA
head(himaDat$Example5$PhenoData)
# 【结果输出】
#   Treatment  Outcome Sex Age
# 1         1 16.18104   1  23
# 2         1 18.60296   0  20
# 3         1 28.80309   1  42
# 4         1 26.38711   0  34
# 5         1 25.29259   0  44
# 6         1 42.41721   1  61qHIMA.fit <- qHIMA(X = himaDat$Example5$PhenoData$Treatment,M = himaDat$Example5$Mediator, Y = himaDat$Example5$PhenoData$Outcome, Z = himaDat$Example5$PhenoData[, c("Sex", "Age")], Bonfcut = 0.05,tau = c(0.3, 0.5, 0.7),scale = FALSE, verbose = TRUE)
qHIMA.fit
# 【结果输出】
#   ID      alpha  alpha_se       beta   beta_se Bonferroni.p tau
# 1 M1  0.7940567 0.1428952  0.7947046 0.1294236 2.745815e-08 0.3
# 2 M2  0.8084565 0.1431067  0.8270942 0.1378767 1.610791e-08 0.3
# 3 M3 -1.1375897 0.1438286 -0.8098622 0.1349740 1.971560e-09 0.3
# 4 M1  0.7940567 0.1428952  0.8696986 0.1481069 2.745815e-08 0.5
# 5 M2  0.8084565 0.1431067  0.7351953 0.1309730 1.984654e-08 0.5
# 6 M1  0.7940567 0.1428952  0.9196337 0.2423962 1.482827e-04 0.7
# 7 M3 -1.1375897 0.1438286 -0.9171627 0.2544897 3.134432e-04 0.7

survHIMA()

这是第2种方法:用于评估和检验生存数据的高维中介效应。[注:第1种方法:hima2()]

head(himaDat$Example3$PhenoData)
# 【结果输出】
#    Treatment Status        Time Sex Age
# 1         0   TRUE 0.034300778   1  31
# 2         0   TRUE 0.497066963   1  51
# 3         1   TRUE 0.046356567   1  39
# 4         1   TRUE 0.024704873   1  22
# 5         0   TRUE 0.126670360   1  26
# 6         1   TRUE 0.007228506   0  60survHIMA.fit <- survHIMA(X = himaDat$Example3$PhenoData$Treatment,Z = himaDat$Example3$PhenoData[, c("Sex", "Age")], M = himaDat$Example3$Mediator, OT = himaDat$Example3$PhenoData$Time, status = himaDat$Example3$PhenoData$Status, FDRcut = 0.05,scale = FALSE, verbose = TRUE)
survHIMA.fit
# 【结果输出】
# ID      alpha  alpha_se       beta    beta_se      p.joint
# 1 M1  1.0384367 0.1365431  0.7940717 0.08687706 2.842171e-14
# 2 M2  0.6414393 0.1507081  0.7969670 0.07691991 2.079579e-05
# 3 M3 -0.9087889 0.1463872 -0.9952480 0.08084286 5.362315e-10

参考文献

Zhang H, Zheng Y, Zhang Z, Gao T, Joyce B, Yoon G, Zhang W, Schwartz J, Just A, Colicino E, Vokonas P, Zhao L, Lv J, Baccarelli A, Hou L, Liu L. Estimating and Testing High dimensional Mediation Effects in Epigenetic Studies. Bioinformatics. (2016) . PMID: 2735717

摘要:

目的:高维 DNA 甲基化标记可能介导环境暴露与健康结果之间的结合。然而,缺乏分析方法来确定高维调解分析的重要中介。

结果: 在确定独立筛选和极小极大凹惩罚技术的基础上,采用联合显著性检验方法对调解效果进行检验。我们使用蒙特卡罗模拟研究来展示其实际性能,并应用这种方法来调查在规范老化研究中,DNA 甲基化标记介导从吸烟到肺功能减少的因果途径的程度。我们鉴定了2个具有显著中介作用的 CpG。

可用性和实现: R 软件包、源代码和模拟研究 https://github.com/yinanzheng/hima 

HIMA: High-Dimensional Mediation Analysis (r-project.org)icon-default.png?t=N7T8https://cran.r-project.org/web/packages/HIMA/HIMA.pdf

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

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

相关文章

LabVIEW多通道压力传感器实时动态检测

LabVIEW多通道压力传感器实时动态检测 介绍了一种基于LabVIEW的多通道压力传感器实时动态检测系统&#xff0c;解决压阻式压力传感器温度补偿过程的复杂度&#xff0c;提高测量的准确性。通过自动轮询检测方法&#xff0c;结合硬件检测模型和多通道检测系统设计&#xff0c;本…

Netty-核心组件

核心组件 1.Bootstrap和ServerBootstrap2.Future和ChannelFuture3.Channel4.Selector5.NioEventLoop6.NioEventLoopGroup7.ByteBuf8.ChannelHandler9.ChannelHandlerContext10.ChannelPipeline 1.Bootstrap和ServerBootstrap Bootstrap是Netty的启动程序&#xff0c;⼀个Netty…

Redis之缓存穿透问题解决方案实践SpringBoot3+Docker

文章目录 一、介绍二、方案介绍三、Redis Docker部署四、SpringBoot3 Base代码1. 依赖配置2. 基本代码 五、缓存优化代码1. 校验机制2. 布隆过滤器3. 逻辑优化 一、介绍 当一种请求&#xff0c;总是能越过缓存&#xff0c;调用数据库&#xff0c;就是缓存穿透。 比如当请求一…

【开源】JAVA+Vue.js实现超市账单管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统设计3.1 总体设计3.2 前端设计3.3 后端设计在这里插入图片描述 四、系统展示五、核心代码5.1 查询供应商5.2 查询商品5.3 新增超市账单5.4 编辑超市账单5.5 查询超市账单 六、免责说明 一、摘要 1.1 项目介绍 基于…

Linux-目录I/O-004

学习重点&#xff1a; 1.目录I/O的函数接口 2.目录的遍历&#xff0c;目录的递归遍历1.【mkdir】 1.1函数原型 【int mkdir(const char *pathname, mode_t mode);】1.2函数功能 创建目录文件1.3函数参数 1.3.1【pathname】 文件路径1.3.2【mode】 文件的权限1.4返回值 …

6.BFC

BFC 经典真题 介绍下 BFC 及其应用介绍下 BFC、IFC、GFC 和 FFC 搞懂各种 FC 一看到 BFC、IFC、GFC 和 FFC&#xff0c;大家可能会想到 KFC。 然而这里所说的 xFC 和 KFC 没有任何关系。 那么这些 FC 究竟是啥呢&#xff1f; 不着急&#xff0c;我们先搞懂一个&#xff0…

MT8788|MTK8788安卓核心板参数_4G联发科MTK模块

MT8788核心板是一款功能强大的4G全网通安卓智能模块。该模块采用了联发科AIOT芯片平台&#xff0c;具有长达8年的生命周期。MT8788模块内置了12nm制程的八核处理器&#xff0c;包括4个Cortex A73和4个Coretex A53&#xff0c;主频最高可达2.0GHZ。标配内存为4GB64GB&#xff0c…

LLM之RAG实战(二十七)| 如何评估RAG系统

有没有想过今天的一些应用程序是如何看起来几乎神奇地智能的&#xff1f;这种魔力很大一部分来自于一种叫做RAG和LLM的东西。把RAG&#xff08;Retrieval Augmented Generation&#xff09;想象成人工智能世界里聪明的书呆子&#xff0c;它会挖掘大量信息&#xff0c;准确地找到…

小马识途分享抖音百科创建的步骤

在玩抖音的时候&#xff0c;不知道注意到抖音的搜索结果没有&#xff0c;有时候会去搜索框搜索一个品牌或人物名称&#xff0c;搜索框下面翻几下大概率就会出现百科词条&#xff0c;这个词条就是抖音百科。抖音的百科属于头条百科&#xff0c;因为这两个平台都属于字节跳动旗下…

浅谈WPF之利用RichTextBox实现富文本编辑器

在实际应用中&#xff0c;富文本随处可见&#xff0c;如留言板&#xff0c;聊天软件&#xff0c;文档编辑&#xff0c;特定格式内容等&#xff0c;在WPF开发中&#xff0c;如何实现富文本编辑呢&#xff1f;本文以一个简单的小例子&#xff0c;简述如何通过RichTextBox实现富文…

iphone6无法加载图片资源文件

在开发项目时,需要动态的展示图片 这样写之后&#xff0c;所有的机型全部能够正常展示&#xff0c;除了ipone6。查找一番原因之后发现&#xff0c;我的图片资源都是webp格式的图像资源&#xff0c;ipone6无法解析该资源为图像资源&#xff0c;所以无法加载。 解决方法&#x…

06.栈习题

1353&#xff1a;表达式括号匹配(stack) 算法思想&#xff1a; 1.用string存储字符串&#xff0c;遍历字符串 2.遇到左括号就入栈 3.遇到右括号就匹配出栈&#xff0c;但是再出栈之前要判断栈是否为空 a.如果栈为空&#xff0c;说明没有与右括号匹配的左括号&#xff0c;右括号…

基于springboot+vue的知识管理系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

1903_CoreMark白皮书阅读笔记

1903_CoreMark白皮书阅读笔记 全部学习汇总&#xff1a; g_embedded: 嵌入式通用技术学习笔记 (gitee.com) 再看ARM的内核架构介绍的时候看到了不同的内核都测试了一个CoreMark/Mhz的参数。从名称看&#xff0c;可以理解为是MCU的算力跑分。至于这部分究竟是测试了哪些功能&…

快速清理_卸载docker_找到不用的进程_centos磁盘爆满_清理磁盘---Linux工作笔记071

查看大文件,并且按照大小排名 cd / | du -h |sort -hr|head -30 可以看到根据不用的结果进行删除 可以看到在/data/dict目录很大,里面的都可以删除 然后再去卸载docker,要不然,没有磁盘是卸载不了的 systemctl stop docker systemctl stop docker.socket yum remove docker-…

Flutter Slider自定义滑块样式 Slider的label标签框常显示

1、自定义Slider滑块样式 Flutter Slider控件的滑块系统样式是一个圆点&#xff0c;thumbShape默认样式是RoundSliderThumbShape&#xff0c;如果想要使用其它的样式就需要自定义一下thumbShape&#xff1b; 例如需要一个上图样式的&#xff08;圆点半透明圆形边框&#xff09…

线性代数:向量空间

目录 向量空间 Ax 0 的解空间S Ax b 的全体解向量所构成集合不是向量空间 基、维数、子空间 自然基与坐标 例1 例2 向量空间 Ax 0 的解空间S Ax b 的全体解向量所构成集合不是向量空间 基、维数、子空间 自然基与坐标 例1 例2

ElasticStack安装(windows)

官网 : Elasticsearch 平台 — 大规模查找实时答案 | Elastic Elasticsearch Elastic Stack(一套技术栈) 包含了数据的整合 >提取 >存储 >使用&#xff0c;一整套! 各组件介绍: beats 套件:从各种不同类型的文件/应用中采集数据。比如:a,b,cd,e,aa,bb,ccLogstash:…

五种多目标优化算法(NSWOA、MOJS、MOAHA、MOPSO、NSGA2)性能对比(提供MATLAB代码)

一、5种多目标优化算法简介 1.1NSWOA 1.2MOJS 1.3MOAHA 1.4MOPSO 1.5NSGA2 二、5种多目标优化算法性能对比 为了测试5种算法的性能将其求解9个多目标测试函数&#xff08;zdt1、zdt2 、zdt3、 zdt4、 zdt6 、Schaffer、 Kursawe 、Viennet2、 Viennet3&#xff09;&#xff0…

Google插件Sider: ChatGPT Sidebar + GPTs GPT-4 Turbo Sider

Sider: ChatGPT Sidebar 可以使得满屏都是机器人&#xff0c;左侧栏可以打开访问GPT-4. 配置跳板机地址 google 搜索的右侧也有打开