R语言实现多变量孟德尔随机化分析(1)

多变量孟德尔随机化分析调整了潜在混杂因素的影响。

1、调整哪些因素?参考以往文献。可以分别调整,也可以一起调整。

2、解决了什么问题?某个暴露相关的SNP,往往与某个或者某几个混杂因素相关。可以控制混杂偏倚。

3、如何解释结果?若该暴露的P值小于0.05,则可以说明该暴露独立于其他暴露对结局产生影响。否则是通过其他因素对结局产生影响。

复制代码
#多变量孟德尔随机化(MVMR)
library(TwoSampleMR)
#提取多个暴露变量工具
#body mass index:ieu-b-40;
#hypertension:ebi-a-GCST90038604
#creatinine:ebi-a-GCST90025946
exposure_dat_mv<-mv_extract_exposures(c("ieu-b-40",
                                        "ebi-a-GCST90038604",
                                        "ebi-a-GCST90025946")) #Serum creatinine levels、Smoking initiation

#提取结局信息
outcome_dat_mv<-extract_outcome_data(exposure_dat_mv$SNP,"ebi-a-GCST90013862") #colorectal cancer

#整合数据
mvdat<-mv_harmonise_data(exposure_dat_mv,
                         outcome_dat_mv,
                         harmonise_strictness = 2)

#进行MVMR的分析
res <- mv_multiple(mvdat)

#提取结果
result<-res$result
#install package
# remotes::install_github("WSpiller/RMVMR",
#                         build_opts=c("--no-resave-data", "--no-manual"),
#                         build_vignettes = TRUE)
library(MVMR)
help(package="MVMR")
wer <- format_mvmr(BXGs = mvdat[["exposure_beta"]],
                      BYG = mvdat[["outcome_beta"]],
                      seBXGs = mvdat[["exposure_se"]],
                      seBYG = mvdat[["outcome_se"]],
                      RSID = rownames(mvdat[["exposure_beta"]]))
#IVW多变量孟德尔随机化结果
ivw_mvmr(wer)
#计算F值
Fz<- strength_mvmr(r_input = wer, gencov = 0)
#异质性检验
pres <- pleiotropy_mvmr(r_input = wer, gencov = 0)
相关推荐
木鹅.1 天前
Day 2 TCGA数据下载
r语言
LEEBELOVED2 天前
R语言基于selenium模拟浏览器抓取ASCO数据-连载NO.03
selenium·r语言·1024程序员节
勿在浮沙筑高台2 天前
海龟交易系统R
前端·人工智能·r语言
zhangfeng11333 天前
R和python 哪个更适合生物信息分析,或者更擅长做什么工作
开发语言·python·r语言·生物信息
兮兮能吃能睡3 天前
R语言~T检验
开发语言·r语言
预测模型的开发与应用研究3 天前
从入门到实操:贝叶斯分析完整技术步骤与核心R包指南
开发语言·人工智能·r语言
图灵信徒3 天前
R语言数据结构与数据处理基础内容
开发语言·数据挖掘·数据分析·r语言
污斑兔4 天前
技术随笔:Node.js ESM 中巧用 `-r dotenv/config` 解决环境变量异步加载问题
开发语言·r语言·node.js
兮兮能吃能睡5 天前
R语言众数函数分析
开发语言·r语言
追风少年ii5 天前
脚本更新--CosMx、Xenium的邻域通讯分析(R版本)
linux·python·r语言·r·单细胞·培训