二分类数据是医学研究中最为常见的数据类型,常见于随机对照试验、队列研究及病例对照研究。根据结局变量非彼即此的特点,记录彼此对立属性的个数,即为二分类数据,贝叶斯方法可对该类数据很好地进行合并,即使是频率学方法难以处理的特殊二分类数据。
来自Coldit等探讨卡介苗预防肺结核的Meta分析数据,曾被多个研究引用和分析过,整理成如表3-1所示,共纳入13个研究。感兴趣的读者,也可从以下链接https://jamanetwork.com/journals/jama/fullarticle/366365获得原始数据。
表3-1 卡介苗数据治疗肺结核的Meta分析数据
二分类数据常整理为四格表的形式,随机对照试验数据如表3-2所示:
表3-2 随机对照试验四格表数据形式
二分类数据的效应指标有优势比(odds ratio, OR )、相对危险度(relative risk, RR )及危险差(risk difference, RD ),其中 OR 、 RR 较为常用。二分类数据的Meta分析方法有倒方差法、M-H法及Peto法。以 OR 为例,倒方差法是将其对数化获得ln OR ,计算ln OR 的标准误,假设ln OR 服从正态分布,进行加权估计及推断。因为倒方差法以正态分布假设成立为前提,如果合并的小样本资料不符合正态近似的条件,经典方法会导致有偏估计;当纳入的研究包含较多0时,也会导致有偏估计。此外,当纳入的研究存在较多极端值时,经典方法很难识别随机效应。贝叶斯统计可以很好地解决经典Meta分析存在的缺陷,因此Meta分析的贝叶斯方法备受重视。Carlin等研究了2×2四格表的贝叶斯Meta分析,采用可交换先验分布,用随机模拟的方法得到参数的后验分布;Warn、Thompson等给出二分类变量绝对风险差( ARD )及相对危险度( RR )随机效应模型贝叶斯估计方法。
主要有两种:一是正态-正态分布层次模型,即假定效应值对数化后近似服从正态分布;二是二项-正态分布层次模型,即事件发生例数服从二项分布,为精确分布。设纳入Meta分析中第
i
(
i
=1,2,…,
N
)个研究,治疗组和对照组总人数及事件发生例数分别为
第
i
个研究的效应量为
d
i
,
d
可以为ln(
OR
)、ln(
RR
)、
RD
等,
为第
i
个研究的效应量相应方差。
正态-正态分布层次模型,以 OR 为例,
对于固定效应模型,
,
μ
为
d
i
的加权均值,为估计效应值;对于随机效应模型,
,
θ
为合并的均值,
τ
2
为研究间的方差,二者为模型待估计参数。
二项-正态分布层次模型,以 OR 为例,设试验组事件数 r t ,对照组事件发生数为 r c ,则 r t 、 r c 均服从二项分布,即:
r t ~ binomial ( p t , n t ), r c ~ binomial ( p c , n t )
其中 p t 、 p c 分别为试验组和对照组事件的发生率。率的logit转换为:
[例3.1] 以结核病数据为例,以 OR 为效应量,基于二项-正态分布层次模型分析框架,说明用R2jags包进行随机效应模型贝叶斯Meta分析的具体过程。
[解] 第一步,设置工作目录和种子数、加载包,定义模型。
第二步,以data.farme()函数建立一个名dat的数据集,用于后面分析 OR 、 RR 、 RD 等不同效应量使用。
第三步,以list()函数建立一个适用R2jags包分析的列表数据集,命名为bcgdat;设置初始值和要监控的参数;以jags()拟合模型;并以print()函数显示结果。
计算结果如下:
结果解读:由感兴趣的参数的相应 R =1.001可知,马尔可夫链已收敛;研究间异质性标准差后验点估计及95% CI 为0.688(0.389,1.156); OR 后验均数点估计及95% CI 为0.480(0.293,0.723)。
对于二分类数据可以合并相对危险度(relative risk, RR ),计算如下: RR = p t /p c 。与 OR 不同的时, OR 的计算可以通过率的logit函数结合在一起,而 RR 值无法直接进行转换。因此需要进行特殊设置,对 RR 进行对数转换后,则有:
因试验组的事件发生率
[0,1],因此需要对
d
i
进行限定。由ln(
)∈(-∞,0],因此需通过限定
d
i
使其小于等于-ln(
),因此相应的代码如下:
[例3.2] 以结核病数据为例,以 RR 为效应量,说明R2jags包拟合贝叶斯Meta分析模型的具体过程。
[解] 第一步,设置工作目录和种子数、加载包,定义模型。
第二步,以list()函数建立一个适用R2jags包分析的列表数据集,命名为bcgdat;设置初始值和要监控的参数;以jags()函数拟合模型;并以print()函数显示结果。
计算结果如下:
结果解读:由感兴趣的参数的相应 R =1.002可知,马尔可夫链已收敛;研究间异质性标准差后验点估计及95% CI 为0.660(0.377,1.135); RR 后验均数点估计及95% CI 为0.474(0.302,0.708)。
对于 OR 、 RR 值还可通过正态-正态分布层次模型进行分析,基本原理相同,即 OR 、 RR 值对数转换后,近似服从正态分布。代码同“第一章第四节二”部分代码。以 RR 值为例,可以用metafor包的escalc()函数计算出ln RR 及其标准误;然后拟合正态-正态层次模型。
结果如下:
结果解读:由感兴趣的参数的相应 R =1.003可知,马尔可夫链已收敛;研究间异质性标准差后验点估计及95% CI 为0.643(0.365,1.110); RR 后验均数点估计及95% CI 为0.499(0.317,0.736)。比较两种模型的结果略有差异,考虑正态-正态分布层次模型是基于近似正态分布。此外,当事件发生例数较少时,也会对结果产生影响。
二分类数据的率差是试验组和对照组事件发生率的差值,其大小可以反映试验组效应的大小。率差的贝叶斯Meta分析与 RR 值的合并存在相同的问题,即要给率差一定的限定,避免使试验组率超出值域范围。具体原理如下:
其中
d
i
即为每个研究的率差,因试验组的事件发生率
[0,1],因此需要对
d
i
进行限定,以确保
[0,1]。因
d
i
服从正态分布,其可取(-∞,+∞)的任何值,因此要设定两个新参数,作为
d
i
的上下界。下界取值范围为[
,∞),上界为[
]。综合上述约束,模型代码如下:
[例3.3] 以结核病数据为例,以率差为效应量,说明R2jas包拟合贝叶斯Meta分析模型的具体过程。
[解] 设置工作目录和种子数、加载包、定义模型、加载数据、拟合模型、显示结果:
计算结果如下:
结果解读:由感兴趣的参数的相应 R =1.002可知,马尔可夫链已收敛;研究间异质性标准差后验点估计及95% CI 为0.042(0.026,0.068); RD 后验均数点估计及95% CI 为-0.026(-0.051,-0.002)。
本章使用的R语言主要函数见表3-3。
表3-3 本章使用的R语言函数
[1]张天嵩,董圣杰,周支瑞.高级Meta分析方法——基于Stata实现[M].上海:复旦大学出版社,2015.
[2]詹思延.系统综述与Meta分析[M].北京:人民卫生出版社,2019.
[3]董圣杰,冷卫东,田家祥,等.Meta分析系列之五:贝叶斯Meta分析与WinBUGS软件[J].中国循证心血管医学杂志,2012,4(5):395-398.
[4]COLDITZ G A,BREWER T F,BERKEY C S,et al.Efficacy of BCG vaccine in the prevention of tuberculosis.Meta-analysis of the published literature[J].JAMA,1994,271(9):698-702.
[5]SUTTON A J,ABRAMS K R.Bayesian methods in meta-analysis and evidence synthesis[J].Stat Methods Med Res,2001,10(4):277-303.
[6]WARN D E,THOMPSON S G,SPIEGELHALTER D J.Bayesian random effects meta-analysis of trials with binary outcomes:methods for the absolute risk difference and relative risk scales[J].Stat Med,2002,21(11):1601-1623.
[7]CARLINJ B.Meta-analysis for 2×2 tables:a Bayesian approach[J].Stat Med,1992,11(2):141-158.
[8]COOPER H,HEDGES L V,VALENTINE J V.The handbook of research synthesis and meta-analysis[M].3rd Edition.New York:Russell Sage Foundation,2019.
[9]SU Y S,MASANAO Y.Package‘R2jags’[EB/OL].(2020-4-27).https://cran.r-project.org/web/packages/R2jags/R2jags.pdf.