Stata軟件是一款集編程與非編程于一體的統計軟件,其操作簡單、使用效率高且具有良好的擴展性,在Meta分析制作方面功能強大。Stata軟件mvmeta程序包是一款基于多元回歸模型實現網狀Meta分析的程序包,且能夠實現“多結局-多變量”數據的同時處理。當前該程序包實現網狀Meta分析的操作過程較為繁瑣,排序功能較差,且缺少繪圖功能。本文通過實例展示介紹了如何使用該程序包實現網狀Meta分析。
引用本文: 張超, 陶華, 李勝, 曾憲濤. 應用Stata軟件mvmeta程序包實現網狀Meta分析. 中國循證醫學雜志, 2014, 14(9): 1150-1159. doi: 10.7507/1672-2531.20140186 復制
當前,實現網狀Meta分析(network meta-analysis,NMA)運算的主要軟件為BUGS和R,經典的Meta分析軟件Stata在NMA方面則起步較晚[1-12]。先前Stata軟件實現NMA只能通過調用WinBUGS [12, 13],沒有自身的程序包。為彌補這一不足,依據多元回歸的思想,Stata軟件mvmeta程序包被研發出來[14]。本文仍以《R軟件R2WinBUGS程序包在網狀Meta分析中的應用》 [2]一文中使用的數據為例,對使用Stata軟件mvmeta程序包實現NMA的操作進行講解。
1 軟件及程序包安裝
Stata軟件是一套提供其使用者數據分析、數據管理以及繪制專業圖表的完整及整合性統計軟件,為收費軟件。目前,Stata軟件采用最具親和力的窗口接口,操作者不僅可以使用操作菜單來進行數據運算,還可以直接使用編程代碼來完成。編程代碼作為軟件擴展的部分,其很大程度上實現了軟件迅速融入最新方法學資源中。Stata軟件的下載與安裝方法詳見《網狀Meta分析在Stata軟件中的實現》 [12]一文;有關Stata軟件實現Meta分析的更多內容,建議參閱專著《應用STATA做Meta分析》 [13]。
Stata軟件用于NMA的mvmeta程序包由White等[14]于2009年基于多元Meta回歸模型研發,并在2011年進行了完善。本文介紹的是其2011年的程序包,該程序包的安裝只需在軟件命令欄輸入以下命令即可完成:
?
net from http://www.mrc-bsu.cam.ac.uk/IW_Stata/meta
2 數據錄入與加載
Stata軟件操作簡便的表現之一,就來自于其數據錄入與加載可以直接將Excel表格中的數據進行復制粘貼[13]。首先,依據mvmeta程序包對數據排列格式的要求進行排列,本例整理之后的數據詳見表 1。

3 數據運算
3.1 數據預處理
基于mvmeta程序包的方法學基礎,執行分析前需要對數據進行預處理,即對參照組缺失臂進行數據填補(通常也稱之為“填補法”)。在填補完數據之后,還需要計算各組配對研究效應量以及比較間的方差-協方差。
命令如下:
?
local h 0.001
local m 0.348
replace r1=`m'*`h' if missing(n1)
replace n1=`h' if missing(n1)
forvalues j=1/14 {
gen logodds`j'=log(r`j'/(n`j'-r`j'))
gen var`j'=1/r`j' + 1/(n`j'-r`j')}
forvalues j=2/14{
gen y`j'=logodds`j'-logodds1
gen double S`j'`j'=var`j' + var1
local j1=`j'+1
forvalues k=`j1'/14 {
gen double S`j'`k'=var1 if!mi(logodds`j', logodds`k')}}
?
3.2 數據分析
進行數據預處理之后,接下來對相應的數據進行探討性分析,主要分兩個部分:一致性模型[15]與非一致性模型的運用與比較。
首先介紹“一致性模型”的預算操作,需要操作者分配提供相應方差-協方差矩陣且給予所有組間同質性假設,這一點也是執行“一致性模型”的前提。
命令如下:
?
mat P13=0.5 * (I(13) + J(13, 13, 1))
mvmeta y S, bscov(prop P13) longparm
?
命令執行后,結果如圖 1~3所示。圖 2的結果與《R軟件R2WinBUGS程序包在網狀Meta分析中的應用》[2]一文結果基本一致,操作者可自行核對。需要說明的是:該部分結果僅為以安慰劑作為對照組,與其他藥物間比較的結果;如需獲取全部結果還需依次以其他藥物作為對照組,依次重復上述操作,本文不再一一展示。



為了更好地展示NMA數據間的內在可靠性,即考慮直間接比較間是否存在差異,方法學家提出了“不一致性”假說,并給出了相應的定性與定量的分析方法,mvmeta程序包也設置了“不一致性模型”。執行“不一致性模型”的具體代碼如下:
?
tab design, gen(des)
mvmeta y S, bscov(prop P13) eq(y2:des2, y4:des3, y5:des5 des6 des7 des8, y6: des20 des22, y7:des7 des9 des10 des11 des17 des24, y8:des21, y10:des29, y11:des10 des14 des23 des25 des30 des31 des34 des36, y12:des15 des18 des26 des31 des32 des37, y13:des35 des38 des39, y14:des16 des27 des33 des40)
test [y2] des2 [y4] des3 [y5] des5 des6 des7 des8 [y6] des20 des22 [y7] des7 des9 des10 des11 des17 des24 [y8] des21 [y10] des29 [y11] des10 des14 des23 des25 des30 des31 des34 des36 [y12] des15 des18 des26 des31 des32 des37 [y13] des35 des38 des39 [y14] des16 des27 des33 des40
?
命令運行后,即可得到圖 4~8的結果。圖 4中,A~N對應14種藥物,詳見表 1下方備注。圖 5~6中,“des”變量為一致性參數,若其95%CI跨越無效線1,則提示其不存在不一致性,即一致性較好。





圖 8中,所有“不一致性”均為0,且P值為0.931?4,表明不存在不一致性,即一致性較好。
至此,以安慰劑為對照組的演示就已經全部完成了;其他的比較可根據演示步驟逐個實現。
4 小結
從上述過程來看,Stata軟件mvmeta程序包是運用多元回歸統計理論基礎,用一種簡單的操作模式來實現NMA數據內在復雜的處理。從分析結果來看,其結果與貝葉斯結果相當接近[2-7, 9, 12, 16, 17],同時又避免了不同操作者對貝葉斯先驗設置的偏差。再者,該程序包的出現也為NMA的制作提供了新的思路與途徑。
然而,如同前述的所有軟件及程序包一樣,Stata軟件mvmeta程序包也存在不足。首先,其研發所基于的多元回歸方法決定了該程序包的缺陷,即每次運算時,僅能設置一個啞變量,其他藥物間的比較尚需逐個依次操作完成,操作相當繁瑣。其次,該程序包不具備繪圖功能,不能繪制常用的網狀關系圖[18]、森林圖等圖形。第三,該程序包具有排序功能,但當前該功能效果較差。
總體而言,該程序包實現NMA的功能強大,特別是具有當前其他NMA軟件不具備的能夠同時處理“多結局-多變量”數據的功能;此外,還同時提供了“一致性”與“不一致性”分析模型,當前其他NMA軟件中只有ADDIS軟件[16]與GeMTC軟件[17]具備這種功能。隨著該程序包功能的不斷擴展與完善,相信其在處理“多結局-多變量”數據方面的功能優勢將更加強大,其操作過程亦應更為簡潔。
當前,實現網狀Meta分析(network meta-analysis,NMA)運算的主要軟件為BUGS和R,經典的Meta分析軟件Stata在NMA方面則起步較晚[1-12]。先前Stata軟件實現NMA只能通過調用WinBUGS [12, 13],沒有自身的程序包。為彌補這一不足,依據多元回歸的思想,Stata軟件mvmeta程序包被研發出來[14]。本文仍以《R軟件R2WinBUGS程序包在網狀Meta分析中的應用》 [2]一文中使用的數據為例,對使用Stata軟件mvmeta程序包實現NMA的操作進行講解。
1 軟件及程序包安裝
Stata軟件是一套提供其使用者數據分析、數據管理以及繪制專業圖表的完整及整合性統計軟件,為收費軟件。目前,Stata軟件采用最具親和力的窗口接口,操作者不僅可以使用操作菜單來進行數據運算,還可以直接使用編程代碼來完成。編程代碼作為軟件擴展的部分,其很大程度上實現了軟件迅速融入最新方法學資源中。Stata軟件的下載與安裝方法詳見《網狀Meta分析在Stata軟件中的實現》 [12]一文;有關Stata軟件實現Meta分析的更多內容,建議參閱專著《應用STATA做Meta分析》 [13]。
Stata軟件用于NMA的mvmeta程序包由White等[14]于2009年基于多元Meta回歸模型研發,并在2011年進行了完善。本文介紹的是其2011年的程序包,該程序包的安裝只需在軟件命令欄輸入以下命令即可完成:
?
net from http://www.mrc-bsu.cam.ac.uk/IW_Stata/meta
2 數據錄入與加載
Stata軟件操作簡便的表現之一,就來自于其數據錄入與加載可以直接將Excel表格中的數據進行復制粘貼[13]。首先,依據mvmeta程序包對數據排列格式的要求進行排列,本例整理之后的數據詳見表 1。

3 數據運算
3.1 數據預處理
基于mvmeta程序包的方法學基礎,執行分析前需要對數據進行預處理,即對參照組缺失臂進行數據填補(通常也稱之為“填補法”)。在填補完數據之后,還需要計算各組配對研究效應量以及比較間的方差-協方差。
命令如下:
?
local h 0.001
local m 0.348
replace r1=`m'*`h' if missing(n1)
replace n1=`h' if missing(n1)
forvalues j=1/14 {
gen logodds`j'=log(r`j'/(n`j'-r`j'))
gen var`j'=1/r`j' + 1/(n`j'-r`j')}
forvalues j=2/14{
gen y`j'=logodds`j'-logodds1
gen double S`j'`j'=var`j' + var1
local j1=`j'+1
forvalues k=`j1'/14 {
gen double S`j'`k'=var1 if!mi(logodds`j', logodds`k')}}
?
3.2 數據分析
進行數據預處理之后,接下來對相應的數據進行探討性分析,主要分兩個部分:一致性模型[15]與非一致性模型的運用與比較。
首先介紹“一致性模型”的預算操作,需要操作者分配提供相應方差-協方差矩陣且給予所有組間同質性假設,這一點也是執行“一致性模型”的前提。
命令如下:
?
mat P13=0.5 * (I(13) + J(13, 13, 1))
mvmeta y S, bscov(prop P13) longparm
?
命令執行后,結果如圖 1~3所示。圖 2的結果與《R軟件R2WinBUGS程序包在網狀Meta分析中的應用》[2]一文結果基本一致,操作者可自行核對。需要說明的是:該部分結果僅為以安慰劑作為對照組,與其他藥物間比較的結果;如需獲取全部結果還需依次以其他藥物作為對照組,依次重復上述操作,本文不再一一展示。



為了更好地展示NMA數據間的內在可靠性,即考慮直間接比較間是否存在差異,方法學家提出了“不一致性”假說,并給出了相應的定性與定量的分析方法,mvmeta程序包也設置了“不一致性模型”。執行“不一致性模型”的具體代碼如下:
?
tab design, gen(des)
mvmeta y S, bscov(prop P13) eq(y2:des2, y4:des3, y5:des5 des6 des7 des8, y6: des20 des22, y7:des7 des9 des10 des11 des17 des24, y8:des21, y10:des29, y11:des10 des14 des23 des25 des30 des31 des34 des36, y12:des15 des18 des26 des31 des32 des37, y13:des35 des38 des39, y14:des16 des27 des33 des40)
test [y2] des2 [y4] des3 [y5] des5 des6 des7 des8 [y6] des20 des22 [y7] des7 des9 des10 des11 des17 des24 [y8] des21 [y10] des29 [y11] des10 des14 des23 des25 des30 des31 des34 des36 [y12] des15 des18 des26 des31 des32 des37 [y13] des35 des38 des39 [y14] des16 des27 des33 des40
?
命令運行后,即可得到圖 4~8的結果。圖 4中,A~N對應14種藥物,詳見表 1下方備注。圖 5~6中,“des”變量為一致性參數,若其95%CI跨越無效線1,則提示其不存在不一致性,即一致性較好。





圖 8中,所有“不一致性”均為0,且P值為0.931?4,表明不存在不一致性,即一致性較好。
至此,以安慰劑為對照組的演示就已經全部完成了;其他的比較可根據演示步驟逐個實現。
4 小結
從上述過程來看,Stata軟件mvmeta程序包是運用多元回歸統計理論基礎,用一種簡單的操作模式來實現NMA數據內在復雜的處理。從分析結果來看,其結果與貝葉斯結果相當接近[2-7, 9, 12, 16, 17],同時又避免了不同操作者對貝葉斯先驗設置的偏差。再者,該程序包的出現也為NMA的制作提供了新的思路與途徑。
然而,如同前述的所有軟件及程序包一樣,Stata軟件mvmeta程序包也存在不足。首先,其研發所基于的多元回歸方法決定了該程序包的缺陷,即每次運算時,僅能設置一個啞變量,其他藥物間的比較尚需逐個依次操作完成,操作相當繁瑣。其次,該程序包不具備繪圖功能,不能繪制常用的網狀關系圖[18]、森林圖等圖形。第三,該程序包具有排序功能,但當前該功能效果較差。
總體而言,該程序包實現NMA的功能強大,特別是具有當前其他NMA軟件不具備的能夠同時處理“多結局-多變量”數據的功能;此外,還同時提供了“一致性”與“不一致性”分析模型,當前其他NMA軟件中只有ADDIS軟件[16]與GeMTC軟件[17]具備這種功能。隨著該程序包功能的不斷擴展與完善,相信其在處理“多結局-多變量”數據方面的功能優勢將更加強大,其操作過程亦應更為簡潔。