Meta系列(二): 在R中如何计算效应值

Meta系列(二): 在R中如何计算效应值

1 简介

在上一篇文章中,我们介绍了meta分析中有哪些效应值,以及什么是随机效应模型和混合效应模型。下面我们就继续来看看这些效应值的函数在R中如何计算和运用。

2 效应值计算

2.1 预先计算效应值(以标准化均值差为例)

示例数据来源于demetar包。对照组与试验组效应大小的标准化均值差已经事先计算好。

library(tiderverse) # need for 'glimpse'
library(demetar)
library(meta)

data(ThirdWave)
glimpse(ThirdWave)
## Rows: 18
## Columns: 8
## $ Author               <chr> "Call et al.", "Cavanagh et al.", "DanitzOrsillo"…
## $ TE                   <dbl> 0.7091362, 0.3548641, 1.7911700, 0.1824552, 0.421…
## $ seTE                 <dbl> 0.2608202, 0.1963624, 0.3455692, 0.1177874, 0.144…
## $ RiskOfBias           <chr> "high", "low", "high", "low", "low", "low", "high…
## $ TypeControlGroup     <chr> "WLC", "WLC", "WLC", "no intervention", "informat…
## $ InterventionDuration <chr> "short", "short", "short", "short", "short", "sho…
## $ InterventionType     <chr> "mindfulness", "mindfulness", "ACT", "mindfulness…
## $ ModeOfDelivery       <chr> "group", "online", "group", "group", "online", "g…

可以看到数据集包含的数据列,主要的效应指标是TE,效应指标的标准误是seTE。由数据集中可以看出有不同的亚组,可以猜测这些研究间存在异质性,所以采用随机效应模型。选择极大似然估计,并且使用Knapp-Hartung法降低假阳性率,也就是tau方估计选用REML。

使用函数:meta包中的metagen

必须的参数:TE:数据集中预计算的效应值大小

seTE:数据集中预计算的效应值标准误

m.gen <- metagen(TE = TE,
                 seTE = seTE,
                 studlab = Author,#设置研究的标签
                 data = ThirdWave,
                 sm = "SMD",#设置估计的效应值
                 fixed = FALSE,#是否估计固定效应模型
                 random = TRUE,#是否估计随机效应模型
                 method.tau = "REML",#tau方的估计方法
                 hakn = TRUE,
                 title = "Third Wave Psychotherapies")
summary(m.gen)#查看拟合结果
## Review:     Third Wave Psychotherapies
##                       SMD            95%-CI %W(random)
## Call et al.        0.7091 [ 0.1979; 1.2203]        5.0
## Cavanagh et al.    0.3549 [-0.0300; 0.7397]        6.3
## DanitzOrsillo      1.7912 [ 1.1139; 2.4685]        3.8
## de Vibe et al.     0.1825 [-0.0484; 0.4133]        7.9
## Frazier et al.     0.4219 [ 0.1380; 0.7057]        7.3
## Frogeli et al.     0.6300 [ 0.2458; 1.0142]        6.3
## Gallego et al.     0.7249 [ 0.2846; 1.1652]        5.7
## Hazlett-Steve…     0.5287 [ 0.1162; 0.9412]        6.0
## Hintz et al.       0.2840 [-0.0453; 0.6133]        6.9
## Kang et al.        1.2751 [ 0.6142; 1.9360]        3.9
## Kuhlmann et al.    0.1036 [-0.2781; 0.4853]        6.3
## Lever Taylor…      0.3884 [-0.0639; 0.8407]        5.6
## Phang et al.       0.5407 [ 0.0619; 1.0196]        5.3
## Rasanen et al.     0.4262 [-0.0794; 0.9317]        5.1
## Ratanasiripong     0.5154 [-0.1731; 1.2039]        3.7
## Shapiro et al.     1.4797 [ 0.8618; 2.0977]        4.2
## Song & Lindquist   0.6126 [ 0.1683; 1.0569]        5.7
## Warnecke et al.    0.6000 [ 0.1120; 1.0880]        5.2
## 
## Number of studies combined: k = 18
## 
##                         SMD           95%-CI    t  p-value
## Random effects model 0.5771 [0.3782; 0.7760] 6.12 < 0.0001
## 
## Quantifying heterogeneity:
##  tau^2 = 0.0820 [0.0295; 0.3533]; tau = 0.2863 [0.1717; 0.5944];
##  I^2 = 62.6% [37.9%; 77.5%]; H = 1.64 [1.27; 2.11]
## 
## Test of heterogeneity:
##      Q d.f. p-value
##  45.50   17  0.0002
## 
## Details on meta-analytical method:
## - Inverse variance method
## - Restricted maximum-likelihood estimator for tau^2
## - Q-profile method for confidence interval of tau^2 and tau
## - Hartung-Knapp adjustment for random effects model

结果已经输出,如何解读结果是现在的重要议题。

结果包含什么

第一部分:单个研究的效应值和置信区间。由于效应值已经事先计算,这里没有包含太多信息。W%是每个研究的权重。de Vibe et al的研究给的权重最高(7.9%),而Ratanasiripong 给的权重最低,查看其效应值置信区间,置信区间大,意味着标准误非常大,因此,提示此项研究的效应大小并不精确。此外,数据结果还告诉我们一共纳入了18项研究。

第二部分:这部分提供了核心结果:合并效应大小。由于我们使用了Knapp-Hartung法估计参数,所以效应值估计使用T

分布。

接下来是异质性。现在我们暂时先只关注tau方,我们可以看到tau方为0.08且置信区间不包含0,因此,研究存在异质性。

第三部分:我们可以看到meta分析的详细信息,比如我们如何估计tau方。

2.1.1 结果调整

有时,我们可能想调整一些分析的细节,updata.meta函数可能会有所帮助,他需要输入meta对象,以及我们需要修啊该的参数。比如,我们想知道采用别的tau方估计方法是否会产生实质性差异,则做出如下修改:

m.gen_update <- update.meta(m.gen, 
                            method.tau = "PM")

# Get pooled effect
m.gen_update$TE.random #0.587
# Get tau^2 estimate
m.gen_update$tau2#0.11

可以看到,效应值大小没有太大改变,但是PM法估计了一个更大的tau方。

2.2 标准化均值差

我们可以使用两组的均值和标准差形式的原始数据进行合并,计算总的效应值。我们必须为metacont函数提供以下7个参数:

  • sm = "SMD"sm = “MD”

  • n.e 实验组样本量

  • mean.e 实验组均值

  • sd.e 实验组的均值标准差

  • n.c 对照组样本量

  • mean.c 对照组均值

  • sd.c 对照组的均值标准差

  • method.smd 这个参数的设置是选用,有几个选项“Hedges”(常用,默认),“Cohen”(未校正的标准化均值差)和“Glass"(默认与推荐,该方法采用对照组的标准差而不是合并后的标准差计算,当有多个实验组时,该方法是初步的分析,但通常不是meta分析的首选方法)

    <
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值