分享

改良版自编小程序上线啦---助力孟德尔随机化(Mendelian Randomization)数据挖掘

 葛医生_EP日记 2023-09-05 发布于广西

孟德尔随机化步骤相对简单固定,一共就是3步,但是如果我们一个一个的对研究变量和结果数据进行筛选,也是挺费时间的,在上篇文章《自编R语言小程序助力孟德尔随机化(Mendelian Randomization)数据挖掘》中,咱们自编了一个小程序帮助咱们进行数据挖掘,反响还是不错的。但是这个函数也是有个明显的缺点,第一就是它是通过在线下载数据,如果你的网络不行,下载不到数据,它就会报错。

图片

我这几天突然看到别的博主提供了一段while循环代码,可以针对下载不到数据的,我一看刚好可以针对我这个函数的缺陷,咱们知道while循环可以设定一个目标,不达目的不罢休,这样我们就可以给它添加一个设定,不下载到数据不停止,这样大大提高了成功率和程序的稳定性。

下面我来演示一下,做法基本和没改良前一样。

函数体为

Mendelian.help(exposure,outcome)

Exposure就是我们的研究变量,outcome就是我们的结果变量。

我这次特地设置复杂点,假设我们研究的想研究的原因变量有3个'ieu-a-22','prot-b-66','ukb-b-15590',想研究的结局变量有3个'finn-b-O15_MEMBR_PREMAT_RUPT','ukb-b-12621','finn-b-O15_PLAC_PREMAT_SEPAR'',如果我们一个一个的做也是要花费一定时间的,如果变量更多就需要更多时间了。

我们先定义暴露变量和结果变量,你把全部变量一起上,就是说又是暴露又是结局也是可以的。

exposure<-c('ieu-a-22','prot-b-66','ukb-b-15590')outcome<-c('finn-b-O15_MEMBR_PREMAT_RUPT','ukb-b-12621','finn-b-O15_PLAC_PREMAT_SEPAR')

一句话然后生成结果,还是非常简单的。

dat<-Mendelian.help(exposure,outcome)

图片

这样就结果就生成啦,我们可以看到每个暴露变量和结果变量匹配的情况,看出有没有意义,对于大规模变量的筛选我个人认为还是有帮助的。P值的筛选是通过孟德尔随机化P值中最要的方法Inverse variance weighted提取出的P值。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多