随机对照研究(连续型变量)的Meta分析——R软件实现(meta包计算SMD效应量)

发布于 2024年3月14日 星期四 11:43:21 浏览:1544
原创不易,转载请注明来源,感谢!
附件下载:
1715655682-随机对照研究(连续型数据).csv 请勿重复点击,如无响应请耐心等待或稍后再试。

在随机对照试验(Randomized controlled trail, RCT)中,某些测量结果是在某一特定范围内的任意取值,每个测量结果都有一个具体的数值,在统计学上称为连续型数据(也叫计量资料),如身高、体重。对于连续型数据,假设Meta分析中的每项研究按组样本量、均数、标准差提取数据,则可形成六格表资料,其主要的效应量指标有均数差(Difference in means,MD)、标准化均数差(Standardised mean difference,SMD)、均数比(Ratio of means,RoM)、几何均数比(Ratio of geometric means,RoGM)等。本文将实例演示在R软件中使用meta包中的metacont命令计算SMD实现随机对照研究(连续型变量)的Meta分析相关操作。

关键词:R; Meta分析; 随机对照试验;

一、案例介绍

本文以模拟数据为例,为研究脂肪摄入对小型家兔体重的影响,现收集了10篇研究报道,均以小型家兔体重增量(单位g)作为主要结局指标,以此来比较饮食中加入脂肪添加剂与不加入脂肪添加剂的家兔体重是否有统计学差异,数据见表1,案例数据可从“附件下载”处下载。

表1

二、问题分析

对于连续型数据的Meta分析,要根据数据的类型、测量值类型、测量基线是否平衡、效应量等综合考虑。

本案例使用的是聚合数据。在研究基线平衡的情况下,可以选择最终值和变化值(如本案例中的体重增量)进行合并,根据异质性检验结果,选择不同的效应模型和方法,如固定效应模型使用IV法,随机效应模型选用D-L法等;如果基线不平衡,可能需要限制使用Meta分析,也可以采用校正方法,但效能比较低。

三、软件操作及结果解读

(一) 数据整理及读取

mydata <- read.csv("随机对照研究(连续型数据).csv")  #导入CSV数据
View(mydata)  #查看数据
图1

在数据栏目中可以查看全部数据情况,数据集中共有8个变量和10个观察数据,8个变量分别代表第一作者(Author)、发表年代(Year)、试验组例数(nt)、试验组均数(mt)、试验组标准差(st)、对照组例数(nc)、对照组均数(mc)、对照组标准差(sc)。

(二) 异质性检验

选择SMD为效应量,任意选用固定或随机效应模型进行异质性检验,可以直接得到Q统计量和I2统计量,再根据异质性检验的结果选择相应的效应模型。

代码如下:

library(meta)
result.meta.smd <- metacont(n.e = nt, mean.e = mt, sd.e = st, n.c = nc, mean.c = mc, sd.c = sc, data = mydata, sm = "SMD")
summary(result.meta.smd)
图2

从结果图2可知,异质性检验Q统计量=5.61,P=0.7787,I2 = 0.0%,均提示研究间异质性较小,故选用固定效应模型。

(三) 合并效应量,绘制森林图

根据具体要求,合并数据,进行Meta分析,采用倒方差法拟合固定效应模型,合并RR。结果见图3—图4。

代码如下:

result.meta.smd <- metacont(n.e = nt, mean.e = mt, sd.e = st, n.c = nc, mean.c = mc, sd.c = sc, data = mydata, studlab = paste(Author,Year), sm = "SMD", method.smd = "Cohen", comb.fixed = TRUE, comb.random = TRUE, method.tau = "REML")
print(summary(result.meta.smd), digits = 2)

该命令参数介绍如下:

  • n.e、mean.e、sd.e、n.c、mean.c、sd.c:分别表示试验组例数、试验组均数、试验组标准差、对照组例数、对照组均数及对照组标准差;
  • data:为所要分析的目标数据集;
  • studlab:表示标签;
  • sm:用于指定效应量,有MD、SMD、ROM3种选择,分别表示均数差、标化均数差、均数比;
  • method.smd:用于指定计算SMD效应量时的选择方法,有“Hedges”、“Cohen”、“Glass”3种不同的计算方法,“Hedges”为默认;
  • comb.fixed, comb.random:表示选择固定效应模型和随机效应模型;
  • method.tau:用于指定估计研究间异质性方差的算法,有DL、PM、REML、ML、HS、SJ、HE、EB等选择项。
图3
forest(result.meta.smd, digits.mean = 1, digits.sd = 1, leftcols = c("studlab", "n.e", "mean.e", "sd.e", "n.c", "mean.c", "sd.c"), leftlabs = c("Author(Year)", "N", "Mean", "SD", "N", "Mean", "SD"))  #绘制森林图

该命令参数介绍如下:

  • leftcols:表示指定森林图左侧显示的(附加)列或逻辑值的字符向量;
  • leftlabs:表示指定森林图左侧(附加)列标签的字符向量。
图4

森林图中Standardised Mean Difference的点表示单个研究的效应量,横线长度表示该效应量的95%置信区间范围,点大小表示该研究的权重,即该项研究对Meta分析的贡献度;图中的菱形则代表合并后的结果;图中的垂直实线用于判定结果差异有无统计学意义,若单个研究或合并效应量的95%置信区间与该直线相交,则代表两组的差异没有统计学意义。

(四) 结果解读

无论是数字化结果,还是森林图,均给出了每一研究效应量的点估计及95%可信区间。固定效应模型得到的合并效应量点估计及95%可信区间为0.15 (95%CI: 0.03~0.26),相应z = 2.52,P=0.0117。表明饮食中加入脂肪添加剂与不加入脂肪添加剂的家兔体重的差异有统计学意义,饮食中加入脂肪添加剂组可以增加家兔体重。

四、知识小贴士

(一)metacont函数的用法

metacont函数的主要用法为:metacont(n.e, mean.e, sd.e, n.c, mean.c, sd.c, data = NULL, studlab = NULL, sm = "SMD", levels.comb = level, comb.fixed = TRUE, comb.random = TRUE)

metacont函数设置选项及说明如下,更多设置可查看meta包中metacont()函数自带帮助文件:

  • n.e、mean.e、sd.e、n.c、mean.c、sd.c:分别表示试验组例数、试验组均数、试验组标准差、对照组例数、对照组均数及对照组标准差;
  • data:为所要分析的目标数据集;
  • studlab:表示标签;
  • subset:为目标数据集的子集;
  • sm:用于指定效应量,有MD、SMD、ROM3种选择,分别表示均数差、标化均数差、均数比;
  • method.smd:用于指定选择SMD为效应量时选择“Hedges”、“Cohen”、“Glass”3种不同的计算方法,“Hedges”为默认;
  • method.tau:用于指定估计研究间异质性方差的算法,有DL、PM、REML、ML、HS、SJ、HE、EB等选择项;
  • levels:表示选择单项研究的置信区间范围;
  • level.comb:表示合并效应量的置信区间范围;
  • comb.fixed和comb.random:表示选择固定和随机效应模型;

(二) 森林图代码参数

森林图的部分设置选项及说明参照随机对照研究(二分类变量)的Meta分析——R软件实现(meta包),更多设置可查看meta包中forest()函数自带帮助文件。

End
文章目录 沉浸式阅读