生存资料的二次研究系列之七:R软件gemtc程序包实现生存数据网状Meta分析

2016-09-09 08:53刘小平孟详喻尹晓红李胜翁鸿曾宪涛
中国循证心血管医学杂志 2016年7期
关键词:网状贝叶斯本例

刘小平,孟详喻,尹晓红,李胜,翁鸿,曾宪涛

• 循证理论与实践 •

生存资料的二次研究系列之七:R软件gemtc程序包实现生存数据网状Meta分析

刘小平1,2,孟详喻1,2,尹晓红1,2,李胜1,2,翁鸿1,2,曾宪涛1,2

生存数据是评价肿瘤等多种疾病的重要数据类型。近年来,基于生存数据的网状Meta分析逐渐兴起。R语言gemtc程序包是一款基于贝叶斯统计研发的能够用于网状Meta分析的软件,不仅能用于二分类与连续性变量的网状Meta分析,也能进行生存资料的网状Meta分析。gemtc程序包同时提供了异质性检测、一致性检测和个干预措施的优劣排序的方法。本文以实例演示使用gemtc程序包实现生存资料网状Meta分析的方法。

生存数据;贝叶斯统计;网状Meta分析;gemtc程序包

近年来,国内外Meta分析及其相应的方法学研究蓬勃发展,网状Meta分析就是基于临床实践需要发展起来的代表方法,其应用也越来越广泛[1,2]。生存分析是将某一事件的结果和出现这一结果所经历的时间结合起来分析的一类统计学分析方法,得出数据类型被称为时间-事件数据(TTE),常见的结局评价指标包括风险比(HR)及其95%可信区间(CI)[3,4]。目前能够实现网状Meta分析的软件包括基于BUGS语言的WinBUGS与Open BUGS[5],商用统计分析软件Stata[6],开源软件R[7]的netmeta[8]、pcnetmeta[9]与gemtc[10-12]程序包等,但其大多数只能实现二分类型数据或连续型数据的网状Meta分析,能够实现生存结局网状Meta分析(基于HR的合并与间接比较)的软件仅限于BUGS系列软件与R的netmeta与gemtc程序包。R软件的netmeta程序包虽能实现生存数据的网状Meta分析,但其使用频率统计学的方法且应用并不广泛。WinBUGS虽能实现生存数据的网状Meta分析,但其实现步骤十分繁琐,对于初学者有较大难度。在本系列前期文章对生存相关研究基本概念及Meta分析方法学介绍的基础上[3,13,14],本文以老年多发性骨髓瘤患者使用各种初始治疗方案后的总生存期(OS)数据为例介绍以R软件gemtc包调用JAGS软件[15]实现生存数据贝叶斯模型网状Meta分析的方法。

1 软件及相关程序包的安装及加载

先从R软件官方网站(https://www.r-project. org/)和JAGS软件官方网站(http://sourceforge. net/projects/mcmc-jags/files/)下载R-3.2.2和JAGS 3.3.0并安装后,再在R软件控制端通过键入下述代码安装gemtc程序包:

install.packages("gemtc")

命令运行后,系统将自动安装运行gemtc包所需要的基础程序包coda和rjags。接着,通过键入下述代码加载gemtc程序包:

library(gemtc)

2 数据准备

本例使用的数据类型皆为各研究所报道OS指标的HR及其95%CI,故分析前需要将其转换为对数水平资料,具体转换公式如下:

上述公式中的ln(HR)与seln(HR)指HR的自然对数值及其标准误,而ULHR与LLHR分别为HR的95%CI的上下界。

接下来构建相对效应数据。相对效应数据表应包括“study”、“treatment”、“diff”与“std.err”四列。这里“study”指的是各研究的编号,“treatment”指的是研究中各组使用的治疗方案,“diff”指的是各研究中实验组与对照组的平均差值[在本例中即ln(HR)],对于对照组需设置“diff=NA”,对于实验组“std.err”指的是平均差值的标准误[本例中即seln(HR)],若所纳入的研究中包括多个治疗组则还需要说明对照组所对应的“std.err”。本例中构建的相对效应数据表如表1所示。

表1 实例分析的相对效应数据表

接下来还需要构建一个treatment数据集,说明整个网状Meta分析中所包含的所有治疗措施或方案,本例中构建的treatment数据表如表2所示。

表2 treatment数据表

3 贝叶斯网状Meta分析

3.1 数据读入 在Excel中将上述数据整理就位后将其载入R软件中。以读取相对效应数据为例,将Excel表格中数据所在区域选定后复制到剪切板,在R软件控制端键入下述命令进行载入:

data.re<-read.delim(“clipboard”)

命令运行后,即读取数据并存放于对象“data.re”中。以同样的方法读取treatment数据并存入对象“treatment”中。

3.2 绘制网络关系图 首先在R软件控制端键入下述命令将data.re和treatment合并构建gemtc_network:

gemtc_network<- mtc.network(data.re=data.re,treatments=treatment)

此后运用plot函数plot(gemtc_network)即可绘制网络关系图,本例的网络关系图如图1所示。

图1 实例研究的网络关系图

3.3 模型的选择与运算 在gemtc包进行贝叶斯运算之前需要设置分析模型,本例中通过键入下述命令进行设定:

model.fe<-mtc.model(gemtc_network,likelihood= "binom",link="cloglog",linearModel="fixed",dic=T)

命令中likelihood="binom"即二项似然,link="cloglog"即选取cloglog作为连接函数,而linearModel="fixed"则规定本次分析使用固定效应模型,dic=T即计算统计量DIC。有关模型参数的设定与释义的详细信息可以通过在R软件控制端键入“?mtc.model”进行了解。

模型设置完毕后,可以进行MCMC迭代运算,本例中gemtc调用JAGS进行迭代运算,具体代码如下:

result.fe<- mtc.run(model.fe, n.adapt=1000,n.iter=5000)

其中n.adapt指代的是步长,n.iter指代的是迭代次数,有关迭代运算的具体参数设置可以通过在R控制端键入“?mtc.run”详细了解。

3.4 绘制诊断收敛图、轨迹和后验分布密度图gemtc包可以通过绘制轨迹、后验分布密度和诊断收敛图以检测迭代次数是否足以收敛并保证结果的稳定性。本例中通过以下代码可绘制以上三种图形:

plot(result.fe, ask=TRUE),gelman.plot(result.fe)

通过键入代码“summary(result.fe)”可查看运算后的各个效应量及通过DIC统计量检查模型是否适合(图2)。

图2 实例研究的诊断图组

3.5 异质性及一致性检测 贝叶斯网状Meta分析同普通Meta分析一样,需要对整个研究的异质性进行评价。除此之外,涉及间接比较的网状Meta分析还需要评价其一致性,本例中通过下述代码计算本例研究的异质性和一致性:

mtcanohe<- mtc.anohe(gemtc_network,factor=2.5, n.chain=4, n.adapt=20000,n.iter=100000, thin=10, sampler="rjags",likelih ood="binom", link="cloglog")和mtcnodesplit<-mtc.nodesplit(network=gemtc_network, factor=2.5,n.chain=4, n.adapt=20000, linearModel="random" ,n.iter=100000, thin=10,likelihood="binom",link="cloglog")

此外,还可通过summary和plot函数对其加以归纳和可视化(鉴于篇幅限制,这里不展示相应的数据和图形)。

4 结果呈现

gemtc包除了提供了常规的森林图(forest plot)用于呈现最终分析结果外,还可绘制柱状图(rankogram)用于呈现各干预措施的优劣排名概率(rank probability)。本例中用于绘制森林图和柱状图的代码分别如下:

forest(relative.effect(result.fe, "MP"))

plot(rank.probability(result.fe), beside=TRUE)

命令运行后,绘制的森林图、柱状图分别如图3和4。森林图的解释与常规Meta分析得出的森林图类似,从图4中可以看出MEL100方案排名最佳,其次为VMPT-VT方案,依次类推,TD方案排名最差。

5 结语

图3 实例研究分析结果森林图

图4 实例研究分析结果柱状图

随着人口老年化及人们生活水平的提高,恶性肿瘤性疾病早已成为危害人类健康的重要杀手。无进展(事件)生存期及OS等预后指标在恶性肿瘤干预措施的评价占有重要地位[16]。gemtc、pcnetmeta和netmeta作为三种可进行网状Meta分析的R语言程序包,在为临床科研工作者带来便利的同时也各有其特点。相较于基于频率统计学方法的netmeta程序包而言,gemtc作为专注于贝叶斯网状Meta的程序包其分析结果更具可靠性。另一方面,同样作为贝叶斯网状Meta分析的R语言程序包gemtc相比pcnetmeta的功能更强大,应用范围更广。在模型选择方面,gemtc程序包不仅可以使用一致性模型也可以使用非一致模型,而pcnetmeta程序包目前仅支持一致性模型;在抽样软件选择方面,gemtc程序包支持三大贝叶斯分析软件(WinBUGS,OpenBUGS和JAGS),而pcnetmeta程序包仅支持JAGS;在适用数据类型方面,gemtc程序包可实现二分类型数据、连续型数据以及生存数据的分析,而pcnetmeta仅能实现前两种类型的数据分析。在一致性和异质性评价方面,gemtc程序包更是完胜pcnetmeta程序包;后者目前无法实现异质性与一致性的评价但在网络关系的绘制方面则更具优势[17]。以上三类R语言程序包均不能实现Meta回归分析,也是程序开发者今后工作的方向。

总而言之,gemtc程序包为生存数据的贝叶斯网状Meta分析提供了便利,值得广大临床科研工作者学习并加以应用。

[1] 曾宪涛,曹世义,孙凤,等. Meta分析系列之六:间接比较及网状Meta分析[J]. 中国循证心血管医学杂志,2012,4(5):399-402.

[2] Lu G,Ades AE. Combination of direct and indirect evidence in mixedtreatment comparisons[J]. Stat Med,2004,23(20):3105-24.

[3] 孟详喻,田国祥,仇成凤,等. 生存资料的二次研究系列之三: 预后相关的二次研究的基本概念介绍[J]. 中国循证心血管医学杂志,2016,8(3):257-9.

[4] Jager KJ,van Dijk PC,Zoccali C,et al. The analysis of survival data: the Kaplan-Meier method[J]. Kidney Int,2008,74(5):560-5.

[5] David JL,Andrew T,Nicky B,et al. WinBUGS -- a Bayesian modelling framework: concepts, structure, and extensibility[J]. Statistics and Computing,2000,13(10):325-37.

[6] StataCorp. Stata Statistical Software: Release 14. College Station, TX:StataCorp LP. 2016.

[7] R Core Team. R: A language and environment for statisticalcomputin g[Internet]. R Foundation for Statistical Computing, Vienna, Austria,2016. [cited 2016 Mar 20]. Available from: https://www.R-project.org/.

[8] Rücker G,Schwarzer G,Krahn U,et al. netmeta: Network Meta-Analysis using FrequentistMethods[Internet]. Version 0.8-0. 2016.[cited 2016 Mar 20]. Available from: http://CRAN.R-project. org/package=netmeta.

[9] Lin LF,Zhang J,Chu HT. pcnetmeta:Patient-Centered Network Meta-Analysis[Internet]. version 2.2.1, 2016. [cited 2016 Mar 20]. Available from: http://CRAN.R-project.org/package=pcnetmeta

[10] van Valkenhoef G,Kuiper J. gemtc: Network Meta-Analysis Using Bayesian Methods[Internet]. version 0.7-1,2016.[cited 2016 Mar 20]. Available from: http://CRAN.R-project.org/package=gemtc

[11] vanValkenhoef G,Lu G,de Brock B,et al. Automating network metaanalysis[J]. Research Synthesis Methods Res Synth Methods,2012,3(4):285-99.

[12] vanValkenhoef G,Dias S,Ades AE,et al. Automated generation of nodesplitting models for assessment of inconsistency in network metaanalysis[J]. Res Synth Methods,2016,7(1):80-93.

[13] 孟详喻,周新雨,李胜,等. 三级随机效应Meta分析模型在预后相关Meta分析中的应用[J]. 中国循证心血管医学杂志,2016,8(5):513-6.

[14] 孟详喻,田国祥,周新雨,等. 多元Meta分析模型在重复测量结局Meta分析中的应用[J].中国循证心血管医学杂志,2016,8(6):647-51.

[15] Plummer M. rjags: Bayesian Graphical Models using MCMC[Internet]. version 3-15, 2016. [cited 2016 Mar 20]. Available from: http://CRAN. R-project.org/package=rjags.

[16] 孟详喻,方程,李妙竹,等. 生存资料的二次研究系列之四: 预后相关系统评价/Meta分析的文献计量学研究[J]. 中国循证心血管医学杂志,2016,8(6):257-63.

[17] 张超,徐畅,曾宪涛. 网状Meta分析中网状关系图的绘制[J]. 中国循证医学杂志,2013,13(11):1382-6.

本文编辑:姚雪莉

A network Meta-analysis on survival data achieved by using gemtc package in R software

LIU Xiao-ping*,MENG Xiang-yu, YIN Xiao-hong, LI Sheng, WENG Hong, ZENG Xian-tao.*Center for Evidence-Based and Translational Medicine, Zhongnan Hospital, Wuhan University, Wuhan 430071, China.

ZENG Xian-tao, E-mail: zengxiantao1128@163.com

Survival data is an important type of data for reviewing tumor and other multiple diseases. In recent years, network Meta-analysis based on survival data is thriving. The gemtc package in R software is a software based on Bayesian statistics, which can be used in network Meta-analysis, including the network Meta-analysis of binary and continuous variable and network Meta-analysis of survival material. The gemtc package provides simultaneously heterogeneity checking, consistency checking and merit sorting of different interventional measures. The methods of achieving network Meta-analysis of survival data by using gemtc package were demonstrated with examples in this paper.

Survival data; Bayesian statistics; Network Meta-analysis; Gemtc package

R4

A

1674-4055(2016)07-0769-04

国家重点研发计划“数字诊疗装备研发”试点专项基金(2016YFC0106300)

1430071 武汉,武汉大学中南医院循证与转化医学中心;2430071 武汉,武汉大学循证与转化医学中心

曾宪涛,E-mail:zengxiantao1128@163.com.

10.3969/j.issn.1674-4055.2016.07.01

猜你喜欢
网状贝叶斯本例
不同针灸疗法治疗寻常痤疮的网状Meta分析
SWRH82B热轧盘条心部异常网状渗碳体组织分析及改善措施
《思考心电图之176》答案
8种针灸疗法治疗原发性痛经的网状Meta分析
基于贝叶斯解释回应被告人讲述的故事
西门子S7-1500 PLC串行通信的应用
窗外
基于动态贝叶斯估计的疲劳驾驶识别研究
基于互信息的贝叶斯网络结构学习
二维网状配聚物[Co(btmb)2(SCN)2]n的合成、晶体结构和Pb2+识别性能