R语言进行孟德尔随机化+meta分析(1)---meta分析基础

2023-09-21 09:38:24

目前不少文章用到了孟德尔随机化+meta分析,今天咱们也来介绍一下,孟德尔随机化+meta其实主要就是meta分析的过程,提取了孟德尔随机化文章的结果,实质上就是个meta分析,不过多个孟德尔随机化随机化的结果合并更加加强了结果的可靠性。有部分人可能对meta分析不是很了解,咱们今天先来介绍一下meta分析基础,为下一讲孟德尔随机化+meta分析做准备。
在这里插入图片描述
R语言进行进行meta分析咱们就做最基本的部分就行,不必搞得太复杂。咱们先导入数据和R包。很多R包都能做,咱们随便选个meta包就可以了。

library(meta)
bc<-read.csv("E:/r/test/senlintu1.csv",sep=',',header=TRUE)
names(bc)

在这里插入图片描述
这是一个很简单的数据,stud表示研究名称,a为实验组阳性人数,b为实验组总人数,c为对照组阳性人数,d为对照组总人数(公众号回复:森林图数据1,可以获得数据)。
咱们先来看下函数格式event.e就是实验组阳性人数,n.e,实验组总人数,event.c对照组阳性人数,n.c对照组总人数,data就是你的数据,studlab填入其他的项目,method这里选"Inverse"倒方差的方法就可以了,sm这里填入结果类型,如果你需要的是OR的结果就填入OR

metabin(event.e, n.e, event.c, n.c, data,studlab = paste(), sm, method = "Inverse")

先生成meta分析结果,就按顺序把结果填进去就可以了

out<-metabin(event.e=a, n.e=b,event.c=c,n.c=d,data=bc,sm="OR",studlab = paste(study),
        method = "Inverse")

直接填进去也是可以的,这样方便点

out<-metabin(a,b,c,d,data=bc,sm="OR",studlab = paste(study),
             method = "Inverse")

解析结果

summary(out)

在这里插入图片描述
我简单解析一下,这类教程网络多得是,可以百度一下。先看异质性,如果有异质性应需用随机效应模型,否则可选用固定效应模型。我们这里选择随机效应模型。
我这里异质性I89.9%挺大的,我们可以使用剔除法来观察剔除单个观察后的异质性,我这里随便举例,假如我剔除第一个
先加个ID

bc$id<-1:13

在这里插入图片描述
删除第一项我们可以使用亚组函数subset来控制,使得subset=id>2就可以了

out<-metabin(a,b,c,d,data=bc,sm="OR",studlab = paste(study),
             method = "Inverse",common=F,subset=id>2)
summary(out)

在这里插入图片描述
可以看到异质性较前下降了一点,接下来就可以绘制森林图了

out<-metabin(a,b,c,d,data=bc,sm="OR",studlab = paste(study),
             method = "Inverse",common=F)

forest(out)

在这里插入图片描述
所有结果都可以在图上找到,结果主要是看最后的综合结果,我这里的OR是2.09.接下来做偏倚检查,主要是漏斗图和Egger法
漏斗图,比较理想的漏斗图应该是散点对称分布

funnel(out)

在这里插入图片描述
Egger法,P值大于0.05说明没有偏倚,还给出了参考文献

metabias(out,method.bias="Egger")

在这里插入图片描述
这里还有一个peters法,参考文献是篇JAMA的文章,应该也是蛮靠谱的

metabias(out,method.bias="peters")

在这里插入图片描述
这里简单的介绍了一下meta分析的操作,肯定没有别人专门将meta分析的详细,如果想进行孟德尔随机化+meta分析最好去补一补meta分析的知识。

更多推荐

java 如何快速实现异步调用方法

java如何快速实现异步调用方法什么是异步编程CompletableFuturejava演示什么是异步编程在实现异步调用之前,我们先了解一下,什么是异步编程?什么场景下适用等等情况。我们都知道,在传统的同步编程中,当一个操作开始执行时,程序会阻塞并等待该操作完成,然后才能继续执行后续代码。这种阻塞等待的方式可能会导致程

华为OD机试 - ABR 车路协同场景 - (Java 2023 B卷 100分)

目录专栏导读一、题目描述1、问题2、条件3、原型二、输入描述三、输出描述四、Java算法源码五、效果展示1、输入2、输出华为OD机试2023B卷题库疯狂收录中,刷题点这里专栏导读本专栏收录于《华为OD机试(JAVA)真题(A卷+B卷)》。刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现

redis集群搭建

title:“Redis集群搭建”createTime:2022-01-04T20:44:58+08:00updateTime:2022-01-04T20:44:58+08:00draft:falseauthor:“name”tags:[“redis”]categories:[“install”]description

节能改造效果检测计算方法

声明本文是学习GB-T29314-2023电动机系统节能改造规范.而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们7综合评估7.1一般规定7.1.1电动机系统节能改造后,应对设备运行效果进行评估,改造后系统的生产效率和系统分界点指标应达到改造设计要求。7.1.2电动机系统改造后,应对与改造设备相关的

商城免费搭建之java商城 开源java电子商务Spring Cloud+Spring Boot+mybatis+MQ+VR全景+b2b2c

1.涉及平台平台管理、商家端(PC端、手机端)、买家平台(H5/公众号、小程序、APP端(IOS/Android)、微服务平台(业务服务)2.核心架构SpringCloud、SpringBoot、Mybatis、Redis3.前端框架VUE、Uniapp、Bootstrap/H5/CSS3、IOS、Android、小程

Labelme分割标注软件

Labelme分割标注软件1、环境配置与安装1.1创建conda虚拟环境(建议)1.2安装Labelme2、简单使用2.1创建label标签文件2.2启动labelme2.3打开文件/文件夹2.4设置保存结果路径2.5标注目标2.6保存json文件格式3格式转换3.1转换语义分割标签3.2转换实例分割标签相关重要博文链

工单管理系统如何赋能售后服务?

当前时代,产品是企业发展的硬道理,但是想要留住客户,就必须提供更好的客户服务。而想要优化客户服务并不是一件简单的事情,企业可以借助工单管理系统来保证售后服务质量,为客户提供及时的帮助,从而达到为企业带来长期稳定的收益。怎么做呢?接下来我们就聊聊如何利用工单管理系统进行服务升级?一、精准关注客户需求客户在遇到问题的时候,

Linux中swap几乎耗尽,但物理内存还有空余的现象

故障现象:产生此现象的原因:swappiness配额设置了偏高的值。还有一个潜在的因素是某个程序因其自身对内存管理的缺陷,形成了zombie进程、且为及时关闭的处理任务还在持续消耗Mem及swap。解决办法:调低swappiness配额值,或者直接将swappiness配额设定为0。查看当前OS中的swappiness

iPhone辐射超标,发布三年突然禁售了

昨晚iPhone15预售大家抢到了吗?虽然13日发布会后大家的反应十分冷静,但身体还是很诚实,官网都排到6-7周以后了...在大伙都争着第一波尝鲜的时候,有一个地方正准备禁售iPhone。不用想肯定是欧盟某个国家啦,这两年的Type-C、应用侧载、可拆卸电池...搞事就没停过。法国数字经济部部长在本周发表的《巴黎人报》

前端用JavaScript实现桑基图(Sankey图)

前端用JavaScript实现桑基图(Sankey图)桑基图(Sankey图),是流图的一种,常用来展示事物的数量、发展方向、数据量大小等,在可视化分析中经常使用。本文,演示如何在前端用JavaScript绘制桑基图。注:本例使用JShaman数据展示JS代码混淆加密流程。先看效果:因为已有成熟的库可用,比如,可以使用

苹果给国内用户提供了最好的5G手机,一机在手畅通全球

在某专家不断胡扯苹果的假5G之时,其实是苹果给国内消费者提供了最好的5G手机,真正实现了一机在手畅通全球,技术永不过时,也不会因此花了冤枉钱,那么iPhone为何是最好的5G手机呢?一、5G技术一直在升级运营商在建设5G的过程中不断发现问题,首先是NSA和SA之争,当初业界认为SA才能完整实现5G的技术特征,NSA则降

热文推荐