干货!多变量孟德尔随机化R语言实操

前面我们给大家讲解了两样本孟德尔随机化(←点击查看原文)的在线分析,其中只探究了一个暴露因素与结局因素的因果关系。那么我们今天要给大家讲解的多变量孟德尔随机化呢,就是将多个表型作为暴露因素,共同探究其与结局的关系。


01 适用场景

很难找到基因变异(SNP)只与某一特定暴露相关,但是可以找到其与一系列相互关联的暴露相关。(比如,既和HDL有关,又和LDL有关,有混杂因素);暴露相关的SNP,很多都与某个或者某几个混杂因素相关时。

02 三大假设

1.关联性假设:遗传工具变量需与至少一个暴露之间强相关。

2.独立性假设:遗传工具变量不受混杂因素的影响。

3.排他性假设:遗传工具变量只能通过一个或多个暴露因素来影响结局,不能通过其他途径。

03 代码实操

#加载R包

library(TwoSampleMR)

#提取两个暴露的并集工具变量

exposure_dat_mv<-mv_extract_exposures(c("ebi-a-GCST90014325","ieu-b-4877")) #Asthma、Smoking initiation

#提取工具变量在结局当中的信息

outcome_dat_mv<-extract_outcome_data(exposure_dat_mv$SNP,"ebi-a-GCST90027161") #atopic dermatitis

#整合数据

mvdat<-mv_harmonise_data(exposure_dat_mv,outcome_dat_mv,harmonise_strictness = 2)

#对数据进行MVMR的分析

res <- mv_multiple(mvdat)

#提取结果

result<-res$result

注:一般情况多变量孟德尔随机化分析就到这一步就停止了,作为对单变量分析的一个补充。因为后面的一些分析得到的结果不一定很理想。

04 补充部分

#安装包

#remotes::install_github("WSpiller/RMVMR",build_opts=c("--no-resave-data", "--no-manual"), build_vignettes = TRUE)

#加载包

library(MVMR)

#提取函数要求数据格式

F.data <- format_mvmr(BXGs = mvdat[["exposure_beta"]],

                      BYG = mvdat[["outcome_beta"]],

                      seBXGs = mvdat[["exposure_se"]],

                      seBYG = mvdat[["outcome_se"]],

                      RSID = rownames(mvdat[["exposure_beta"]]))

#计算F值

sres <- strength_mvmr(r_input = F.data, gencov = 0)

#异质性检验

pres <- pleiotropy_mvmr(r_input = F.data, gencov = 0)

05 文章小结

      一般我们在进行多变量孟德尔随机化时,选取的暴露因素最好具有一定的相关性,这样后续文章描述中更有逻辑。且在增加变量时,建议一个个增加。好了,今天的分享就到这里啦,感兴趣的小伙伴赶紧练习起来吧。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容