永州网,内容丰富有趣,生活中的好帮手!
永州网 > 知识 > 正文

用R做meta分析(附效应量计算神器)

时间:2000-08-29

当然,这些优势在meta分析上也表现得极为突出

友情提示:本文共有 3718 个字,阅读大概需要 8 分钟。

Hello,这里是行上行下,我是喵君姐姐~

众所周知,R具有免费、源代码开放,以及出色的统计计算和绘图表现能力等一系列优点,颇受科研人员的喜爱。当然,这些优势在meta分析上也表现得极为突出。

本教程以标准平均差(cohen’s d)作为效应量的meta分析为例进行演示,适用于比较两种实验条件之间因变量的差异。例如“有、无干预条件下社交焦虑程度的差异”、“集中注意、分散注意条件下n-back任务的正确率差异”等等。

简单来讲,实证研究中,可以进行t检验的结果,都可以参考以下教程,对数据进行meta分析。

接下来,我们邀请到FarAway将逐步介绍用R做meta分析的基本步骤。

本文以软件实操讲解为主,如果读者对meta分析的原理感兴趣,推荐以下两本书自行学习。

(扫码即可购买,满100减50,还可叠加优惠券哟~)

一、准备

工欲善其事必先利其器,先来说说准备工作:

1. 下载并安装R studio,在往期推文中我们已经详细介绍了R和Rstudio的安装教程,按步骤操作即可!

2. 安装三个工具包:meta、metafor和xlsx

3. 准备好上述需要进行meta分析的数据,存放在电脑中,以备调用。

为方便讲解,我们引用了《meta分析导论》里的一组数据(后台回复“元分析资料”即可获得案例数据),如下:

从左到右,依次是纳入的研究效应量的编号(No)、第一作者的姓名(author)、发表年份(year)、实验组因变量均值(exp_mean)、实验组均值的标准差(exp_sd)、实验组样本量(exp_n)、控制组因变量均值(con_mean)、控制组均值的标准差(con_sd)、控制组样本量(con_n)、效应量(cohen’s d)、效应量95%置信区间下限(lower)、效应量95%置信区间上限(upper)、施测的地区(area)。

从上到下,每一行数据都代表一个原始研究(single study)的一个效应量,如果一个原始研究中包括多个效应量(如:有好几个实验(或成对比较)及其结果),那么每一个效应量应该作为独立的一行列在表格中。

我们注意到,很多实证研究中只报告均值、标准差/标准误、样本量等描述统计结果,并未提供效应量,因此,通常在meta分析前,我们需要自己计算效应量及其置信区间。文末有效应量计算工具的推荐。

二、配置环境和工具包

相信用过R软件的小伙伴一定对工具包的安装不陌生(可参见:R语言安装及入门;以及RStudio介绍及入门)。

如图输入代码-用鼠标选中代码内容-点击Run运行代码,R会自动运行下载安装步骤。

**如果xlsx安装不上,可能是电脑java环境配置的问题,可以参考这篇文章《解决在R Studio中无法加载xlsx包的教程及方法配置java环境》。

网址链接如下:

https://blog.csdn.net/qq_28557167/article/details/103563390?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

**如果仍然无法安装xlsx package,也可以尝试其他调用数据的方法:

例如:采用Rstudio导入数据的工具

三、导入数据

以代码调用数据为例,如图输入数据存放的路径代码。

此条代码中,路径后的蓝色1代表调用xlsx里sheet1的数据,如果需要调用sheet2里的数据,则将1改成2即可。

这里对需要分析的数据赋名为“metagen”,此后需要用metagen()函数执行meta分析。

选中8-10行代码,点击Run,则完成数据导入。

**查询路径的方法是找到数据文档,右键属性,查看位置。

数据导入成功后,可以看到Console栏里出现数据内容。

在Environment栏里也能看到metagen数据集,点击红框处,可以看到编列如表格的数据。

四、计算综合效应量

终于到了小伙伴们最关心的综合效应量计算环节了!

对cohen’s d进行综合之前,我们还需要完成一步数据转换的工作。Metagen()函数实现cohen’s d的meta分析是基于d值及其标准误,以下是效应量标准误计算的代码:

运行后,可以看到Console窗口里增加了一列se。

接着,就需要载入meta工具,运行如下代码:

分析之后可以看到console报告的结果:

红框

显示的是meta分析里纳入的每一个研究(或效应量)所对应的作者名、年份、Cohen’s d值,置信区间,以及固定效应模型(fixed)和随机效应模型(random)计算出的权重。本次纳入meta分析的研究(或效应量)有6个,因此k=6。

黄框

显示的是综合效应量的结果。如图可见:

1. 固定效应模型(fixed effect model)计算的综合效应量为0.4166,95%CI为[0.2906; 0.5426],z检验值为6.48,p<0.0001。【结果显着】

2. 随机效应模型(random effects model)计算的综合效应量为0.3602,95%CI为[0.1534; 0.5671],z检验值为3.41,p=0.0006。【结果显着】

**可以看到这里采用两个模型计算出的显着结果略有不同,研究中通常会采用更加保守的随机效应模型。感兴趣的小伙伴可以进一步了解两个模型的区别。

蓝框

显示的是异质性检验的结果。主要看Q检验的结果,以及I^2(I2)的值,一般来讲,I2 值0%-25%为低异质性, 50%-75%为中等异质性,>75% 为高异质性。异质性越高,代表纳入的研究(或效应量)间差异越大,在实证研究中,这种差异可能是由于实验范式、被试特征、施策时间、施策地点差异等造成,因此大部分meta分析会进一步假设可能的影响因素,再做亚组分析(详见第七步)。

五、绘制森林图

在meta分析的论文里森林图是最为常见的结果可视化图形,它可以直观表现每个效应量以及综合效应量的结果。

利用R绘制森林图十分简单,运行如下代码即可。

在Plots窗口就可以看到自动生成的森林图,可以通过export导出图片,简单的处理后就可以插入论文啦!

六、发表偏倚检验

Meta分析的发表偏倚通常会通过:肉眼看漏斗图的对称分布主观判断和基于egger’s test的统计结果来判断,以下就是两种方法的代码

1. 漏斗图代码:

运行后在Plots可以查看并导出漏斗图。

2. egger’s test代码

运行后可以在console窗口可以查看分析结果,p>0.05,说明不存在发表偏倚,对应的检验图在plots窗口可以查看并导出。

假设上述分析发现,存在发表偏倚,可以再做trim-and-fill method剪补法来检验这一发表偏倚是否会影响到综合效应量的结果。

3. 剪补法

运行如下代码:

剪补法分析后,结果可以在Console窗口查看:

从分析结果看,原数据还是存在一定的偏差,漏斗右侧少了两个效应量(此时k=9,剪补法分析后的漏斗图右侧多了3个空心圆,代表补上的效应量)。

通过算法自动补齐后,得到了一个新的综合效应量0.56,显着性跟剪补法分析前的没有变化,因此,在一定程度上可以说明综合效应量不会受发表偏倚的影响。

七、亚组分析并绘制森林图

在meta分析中,我们通常需要对单个研究进行分类讨论,类似于将单个研究按照变量分成不同的水平。在本范例中,我们假设纳入的部分单个效应量数据采集自A区域,另一部分采集自B区域,我们想要考察两类问卷测量出的结果是否存在差异,可以对问卷进行亚组分析,并绘制森林图。运行如下代码:

Console窗口显示两个亚组各自的综合效应量,可以看到:

固定效应模型和随机效应模型的亚组分析都没有发现组间(between groups)显着的差异,表明数据采集的地区并不调节综合效应的结果。

八、元回归分析

在meta分析里,我们对分类变量的调节作用的考察可以通过亚组分析来完成,对连续变量的调节作用,我们可以通过元分析来考察。例如:我们想知道文章发表年份(year)是否调节综合效应量的结果,我们可以采用如下代码进行元回归分析:

可以看到元回归并没有发现显着的结果,即year并不调节综合效应量,回归系数为0.1035,p值为0.6395,截距为0.2993,R方为0.00%。

九、敏感性分析

我们也看到很多的meta分析论文会做额外的敏感性分析,尤其在发现综合效应量的异质性较大的情况下,通过敏感性分析可以查看是否存在某些极端的纳入研究,产生对综合效应量的影响。

运行代码后,我们看到结果显示依次逐个剔除纳入的研究,综合效应量的显着性并未发生明显的改变,表明纳入的研究不存在极端的现象。

**meta工具包还可以自动生成一些符合期刊要求的图型,假设你想投医学期刊JAMA,可以在绘图前设置jama参数,代码如下:

接着再绘制图形,就会生成符合JAMA要求的图形啦!例如,在设置后再次运行绘制森林图,就可以获得如下图形:

想要恢复默认设置,输入以下代码即可:

效应量计算工具有很多,在这里推荐一款专业的在线计算效应量的神器:Practical Meta-Analysis Effect Size Calculator,基本上可以满足大多数效应量计算的需要。

网址如下:

http://www.campbellcollaboration.org/escalc/html/EffectSizeCalculator-SMD-main.php

这款工具最近也开发了R的程序包,感兴趣的朋友可以关注,它可以实现一些比网页版更高级的功能。

esc package网址如下:

https://strengejacke.github.io/esc

作者:FarAway

收集不易,本文《用R做meta分析(附效应量计算神器)》知识如果对你有帮助,请点赞收藏并留下你的评论。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
相关阅读
高管套现+1.8亿美元!巨头现状何如?

高管套现+1.8亿美元!巨头现状何如?

...上个月分两次出售了 30 万股和 1.028 万股股票。彭博社的分析认为,今年以来,英伟达公司股价已上涨两倍多,高管们在股价飙升后想要锁定收益是可以理解的。不过,他们并未在股票回落时买入,这可能是考虑到股价强势上涨...

2023-12-06 #头条

深入探讨传感器的作用及其不同分类

深入探讨传感器的作用及其不同分类

...的检测方法与监控方法,也是物质分子水平的快速、微量分析方法。各种生物传感器有以下共同的结构:包括一种或数种相关生物活性材料(生物膜)及能把生物活性表达的信号转换为电信号的物理或化学换能器(传感器),二...

2024-01-29 #生活

2月26号:意外收获与公式集困扰

2月26号:意外收获与公式集困扰

...均线上行,那么行情也将会很难走的更远2、按照收盘价计算年度新高和季度新高还保持在百只以上,如果按照盘中最高价算数量在237和329只,但需要注意的一个问题是,很多个股收盘时下跌的,所以这个数据就需要变相的看待...

2024-02-20 #推荐

股票龙虎榜买卖解析:如何研读成交龙虎榜?

股票龙虎榜买卖解析:如何研读成交龙虎榜?

...是很牛的,有了进出记录,或成交记录后,这样股民可以分析,这些大户是否在出脱、加码买进的数据?股民依照数据做出正向或逆向操作,从而达到获利或者止损的目的。四、如何才能查看沪深股市每日的交易龙虎榜及时查询...

2023-12-16 #百科

网站策划书:拟定格式和制定策略

网站策划书:拟定格式和制定策略

...的内在优势、弱点、机会及威胁等因素,对其作好全面的分析(SWOT分析),将内容重点放在环境分析的各项因素上,对过去现在的情况进行详细的描述,并通过对情况的预测制定计划。如环境不明,则应该通过调查研究等方式进行...

2024-01-11 #推荐

探寻汽车异响与共振:内部问题分析与解决方案

探寻汽车异响与共振:内部问题分析与解决方案

...到一年就得换胎,车主:当初瞎了眼才买中国“汽车镀膜神器”!5分钟搞定,一年不洗车,也依旧如新洗车要30块?中国发明“新”洗车神器,5分钟搞定,天天开新车“自动挡”半坡起步时,新手车主往往给油就走,老司机通...

2024-02-18 #百科

小时候挨打的那些神器:全都中招的揭秘 证明你曾经是调皮孩子!

小时候挨打的那些神器:全都中招的揭秘 证明你曾经是调皮孩子!

小时候挨打的那些神器,如橡皮筋、铁钉板、小木棍等,都是“调皮孩子”们的利器。用橡皮筋射击、铁钉板敲打墙壁、小木棍戳捣事物,全都是我们童年的趣味游戏。然而,这些调皮行为常常导致我们“中招”,遭遇成人的惩...

2024-02-01 #随笔

无痛神器:解决口罩勒耳朵的新利器

无痛神器:解决口罩勒耳朵的新利器

\"解决口罩勒耳朵神器+这东西基本上家家都有\"是一个旨在解决口罩佩戴不便的神器。随着全球疫情的蔓延,佩戴口罩已成为日常生活的一部分,但长时间佩戴却给人们带来了不少困扰,尤其是勒耳朵的痛苦。这个神器的出现,...

2024-02-04 #生活