多变量孟德尔随机化分析调整了潜在混杂因素的影响。
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)