关键词:R; Meta分析; 随机对照试验; 连续型数据; metafor包
一、案例介绍
本文以模拟数据为例,为研究脂肪摄入对小型家兔体重的影响,现收集了10篇研究报道,均以小型家兔体重增量(单位g)作为主要结局指标,以此来比较饮食中加入脂肪添加剂与不加入脂肪添加剂的家兔体重是否有统计学差异,数据见表1,案例数据可从“附件下载”处下载。
二、问题分析
对于连续型数据的Meta分析,要根据数据的类型、测量值类型、测量基线是否平衡、效应量等综合考虑。本案例使用的是聚合数据。在研究基线平衡的情况下,可以选择最终值和变化值(如本案例中的体重增量)进行合并,根据异质性检验结果,选择不同的效应模型和方法,如固定效应模型使用IV法,随机效应模型选用D-L法等;如果基线不平衡,可能需要限制使用Meta分析,也可以采用校正方法,但效能比较低。
三、软件操作及结果解读
(一) 数据整理及读取
mydata <- read.csv("随机对照研究(连续型数据).csv") #导入CSV数据 View(mydata) #查看数据
在数据栏目中可以查看全部数据情况,数据集中共有8个变量和10个观察数据,8个变量分别代表第一作者(Author)、发表年代(Year)、试验组例数(nt)、试验组均数(mt)、试验组标准差(st)、对照组例数(nc)、对照组均数(mc)、对照组标准差(sc)。
(二) 异质性检验
选择SMD为效应量,任意选用固定或随机效应模型进行异质性检验,可以直接得到Q统计量和I2统计量,再根据异质性检验的结果选择相应的效应模型。
代码如下:
library (metafor) mydata1 <- escalc(n1i = nt, m1i = mt, sd1i = st, n2i = nc, m2i = mc, sd2i = sc, measure = "SMD", data = mydata) result.mydata1 <-rma(yi, vi, data = mydata1) print(summary(result.mydata1), digits = 2)
该命令参数介绍如下:
- n1i、n2i、m1i、m2i、sd1i、sd2i分别代表试验组和对照组受试者人数、实验组和对照组测量指标的均数、实验组和对照组测量指标的标准差;
- data代表所要分析的数据对象;
从结果图2可知,异质性检验Q统计量=5.61,P=0.78,I2 = 0.0%,均提示研究间异质性较小,故选用固定效应模型。
(三) 合并效应量
根据具体要求,合并数据,进行Meta分析,采用倒方差法拟合固定效应模型,合并SMD。结果见图3。
代码如下:
result.mydata1.FE <-rma(yi, vi, data = mydata1, slab = paste(Author, Year), method = "FE")
result.mydata1.FE <-rma(yi, vi, data = mydata1, slab = paste(Author, Year), method = "FE") print(summary(result.mydata1.FE), digits = 2)
该命令参数介绍如下:
- yi、vi表示运行函数,得到的效应值对数及其方差;
- method代表选择研究间异质性方差的估计方法,默认为限制极大似然估计(REML),FE表示拟合固定效应模型;
- slab为选择显示的标签;
- digits代表选择结果的小数位数。
(四) 结果解读
固定效应模型得到的合并效应量点估计及95%可信区间为0.15 (95%CI: 0.03~0.26),相应z = 2.50,P=0.01。表明饮食中加入脂肪添加剂与不加入脂肪添加剂的家兔体重的差异有统计学意义,饮食中加入脂肪添加剂组可以增加家兔体重。