引用本文: 楊博文, 陳欣, 孫皓, 時景璞. 網狀Meta分析中敏感性分析和一致性分析在R軟件中的實現. 中國循證醫學雜志, 2015, 15(1): 99-102. doi: 10.7507/1672-2531.20150017 復制
確定臨床上處理因素優劣的最佳方法是通過匯總相同處理因素的多個隨機對照試驗(RCT)進行定量的Meta分析,通過Meta分析的結果得到處理因素何者較優的結論。傳統的Meta分析只能針對兩種處理因素進行分析。當治療某種疾病有多種藥物可供選擇時,醫師與患者都想知道哪種藥物治療效果最佳,而要對所有備選藥物的療效進行比較,通過一個RCT幾乎不可能實現。其原因主要包括:① 試驗設計干預組越多,所需樣本量越大,患者募集越困難,人財物和時間投入越大;② 由于藥物生產者之間存在競爭,成為試驗實施的障礙。因此,網狀Meta分析 [1]的作用日益明顯。
網狀Meta分析的實質是進行間接比較,將兩種干預措施通過媒介用數學推理的方式進行,其結果的真實性需通過進一步驗證 [2]。敏感性和一致性可很好解決這個難題。目前,實現敏感性和一致性的方法較多,但大部分仍不成熟。R軟件應用metafor包、combinat包和R2WinBUGS包聯合WinBUGS實現網狀Meta分析的敏感性和一致性是近年來國內外常用的方法之一。本文以《網狀Meta分析在R軟件中的實現》一文 [3]中的數據為例,介紹如何通過R軟件應用metafor包、combinat包和R2WinBUGS包聯合WinBUGS實現網狀Meta分析的敏感性和一致性。
1 R軟件R2WinBUGS程序包實現敏感性分析
1.1 軟件的安裝
通過R軟件的R2WinBUGS包調用WinBUGS來實現敏感性的檢驗,需要先進行R軟件的安裝,其具體步驟詳見《R軟件R2WinBUGS程序包在網狀meta分析中的應用》一文 [4]。本文采用版本為R2.15.3。然后安裝WinBUGS軟件,WinBUGS軟件為免費軟件,下載、安裝、更新及激活詳見《Meta分析系列之五:貝葉斯Meta分析與WinBUGS軟件》一文 [5]。軟件安裝路徑可自行選擇,本文選擇路徑為“D:\Program Files”。
安裝完畢后,雙擊桌面的R軟件圖標,即可啟動R的交互式窗口(R-GUI)。鼠標左鍵單擊菜單欄“程序包”按鈕,在下拉的菜單中選擇“安裝程序包”選項,在彈出的菜單中選擇“China (beijing1)”,即可看到“packages”對話框,然后在其中找到R2WinBUGS包并雙擊進行安裝。安裝完成后可由library(R2WinBUGS)命令完成加載,加載完成后即可使用。
本文實例納入的5個研究均為雙臂研究,如果納入研究有三臂研究也可根據研究數據自行編寫適用于含三臂研究的代碼。實現網狀Meta分析敏感性的方法有許多,本文介紹的為當前較成熟的隨機效應模型和固定效應模型相比較的方法。
1.2 創建數據并導入數據
根據WinBUGS格式,將原始文獻中的數據總結在Excel中,見表 1。

錄入數據時需對原始數據中的干預措施進行編號,本例共有4種干預措施,分別為Placebo、Rifabutin、Azithromycin 和 Clarithromycin,并將這4種干預措施編號為1~4。表 1中“t1”、“t2”所表示為干預措施。“r1”為在干預措施影響下的有效例數,“n1”為研究所納入的總例數,“na”為該納入研究文獻的干預措施數。
當前發表的網狀Meta分析研究,大多采用手動錄入的方式,但這種方法效率較低且不易修改,所錄入的數據也不易保存,若軟件操作過程中出現錯誤也不易檢查,我們在此介紹一種可以納入Excel表的程序包——“RODBC”包。其命令和結果如下:
library(RODBC)
channel=odbcConnectExcel("F:/model.xls")
REmodeldata =sqlFetch(channel,'Sheet1')
數據導入R軟件后,對數據通過隨機效應模型進行網狀Meta分析,所得結果如下:網狀Meta分析隨機效應模型結果為totresdev 9.129 2,pD=8.9,DIC=69.3。
數據導入R軟件后,對數據通過固定效應模型進行網狀Meta分析,所得結果如下:網狀Meta分析固定效應模型結果為totresdev 8.613 7,pD=8.0,DIC=67.9。
結果中totresdev是評價模型的契合度;DIC信息準則是方差的后驗期望和pD的和;pD被用于描述模型的復雜程度。
通過對比隨機效應模型和固定效應模型的數據可見,兩模型所得結果相近。
敏感性分析可以作為探索異質性來源的一種方法,目前主要用于檢驗納入研究的臨床相似性和方法學相似性。臨床相似性指A vs. C和B vs. C的兩組試驗中研究對象、干預措施和結局測量等的相似性,方法學相似性是指兩組試驗的質量相似性。從敏感性分析結果可知數據較穩健,納入研究的臨床相似性和方法學相似性較好,分析結果較為可信,間接比較可以平衡兩個試驗集的偏倚,且相比直接比較偏倚更小。
2 以R軟件metafor包和combinat包實現一致性分析
2.1 軟件的安裝
根據上文介紹進行R軟件和WinBUGS軟件的安裝,并安裝metafor程序包和combinat程序包完成加載。
2.2 創建數據并導入數據
類似敏感性分析的步驟對原始數據進行錄入,但需對原始數據進行進一步整理。將需要計算出各文獻所包含數據的_SS、_ES、_selogES、_LCI、_UCI、_WT一并錄入Excel表中(表 2)。根據上文介紹的納入Excel函數(RODBC),將準備好的Excel表格納入R軟件,數據框或矩陣名為“Emodel_inconsistency”。

2.3 程序調用及運算
在完成上述準備后,即可進行網狀Meta分析的一致性檢驗了。R軟件通過metafor包和combinat包調用WinBUGS命令,所得結果見圖 1。由圖 1可知:① 數據中的各個治療措施只形成三角環,而未形成四邊環;② 各個環的可信區間均與空白值相交,說明網狀Meta分析計算結果與直接比較計算結果無明顯差異,一致性較好;③ 方塊大小表示樣本量,方塊越大,樣本量越大。

3 小結
本文介紹了實現網狀Meta分析敏感性分析的方法為隨機效應模型和固定效應模型結果的比較,是國內外較常用的方法。該方法在http://www.mtm.uoi.gr/等網站也有相關介紹,且可以下載到相關運算方法的代碼,有興趣的讀者可根據自己數據的情況適當修改代碼加以利用。
敏感性一直被認為是Meta分析的重要組成部分之一。因網狀Meta分析是通過虛擬的間接比較來實現兩種或兩種以上干預措施的相互比較,所以敏感性分析尤為重要。目前敏感性分析主要是驗證納入研究之間的臨床相似性和方法學相似性。臨床相似性指A vs. C和B vs. C的兩組試驗中研究對象、干預措施和結局測量等的相似性,方法學相似性是指兩組試驗的質量相似性。研究表明,若兩個試驗集足夠相似,間接比較可以平衡兩個試驗集的偏倚,且相比直接比較偏倚更小。目前也有剔除低質量研究重新計算來分析網狀Meta分析的敏感性 [6],但筆者認為這種方法還不成熟,且誤差較大。所以本文只介紹了前一種方法。
與傳統Meta分析不同,在網狀 Meta 分析中一致性是指直接與間接比較結果的相似度 [7, 8]。一致性在網狀Meta分析中分為兩種:一種為設計不一致性(Design inconsistency),一種為環狀不一致性(Loop inconsistency)。根據數據類型,本文介紹的方法是用于分析環狀不一致性(Loop inconsistency),當存在≥ 3種治療措施比較時才會出現環狀不一致性,或者干預措施B與干預措施C的比較需要通過媒介干預措施A來實現時將會產生環狀不一致性。設計不一致性所涉及的差異主要表現在不同治療措施效應值的差異。在合理的差異下,我們可以將不同研究設計方法之間的差異作為不一致性來表示 [9]。如果出現不一致性,常提示直接比較或間接比較證據存在方法學缺陷,或兩者臨床特征有差異,或兩種原因同時存在,此時需探討出現不一致性的可能原因并考慮是否應合并直接比較和間接比較結果 [10]。
敏感性和一致性是評價網狀Meta分析結果是否可以指導臨床的重要指標,也是未來網狀Meta分析的難點和重點。目前可進行網狀Meta分析的軟件還有許多,比如SAS軟件、Stata軟件、ADDIS軟件等,通過比較發現R軟件最為簡單方便,且結果準確。
確定臨床上處理因素優劣的最佳方法是通過匯總相同處理因素的多個隨機對照試驗(RCT)進行定量的Meta分析,通過Meta分析的結果得到處理因素何者較優的結論。傳統的Meta分析只能針對兩種處理因素進行分析。當治療某種疾病有多種藥物可供選擇時,醫師與患者都想知道哪種藥物治療效果最佳,而要對所有備選藥物的療效進行比較,通過一個RCT幾乎不可能實現。其原因主要包括:① 試驗設計干預組越多,所需樣本量越大,患者募集越困難,人財物和時間投入越大;② 由于藥物生產者之間存在競爭,成為試驗實施的障礙。因此,網狀Meta分析 [1]的作用日益明顯。
網狀Meta分析的實質是進行間接比較,將兩種干預措施通過媒介用數學推理的方式進行,其結果的真實性需通過進一步驗證 [2]。敏感性和一致性可很好解決這個難題。目前,實現敏感性和一致性的方法較多,但大部分仍不成熟。R軟件應用metafor包、combinat包和R2WinBUGS包聯合WinBUGS實現網狀Meta分析的敏感性和一致性是近年來國內外常用的方法之一。本文以《網狀Meta分析在R軟件中的實現》一文 [3]中的數據為例,介紹如何通過R軟件應用metafor包、combinat包和R2WinBUGS包聯合WinBUGS實現網狀Meta分析的敏感性和一致性。
1 R軟件R2WinBUGS程序包實現敏感性分析
1.1 軟件的安裝
通過R軟件的R2WinBUGS包調用WinBUGS來實現敏感性的檢驗,需要先進行R軟件的安裝,其具體步驟詳見《R軟件R2WinBUGS程序包在網狀meta分析中的應用》一文 [4]。本文采用版本為R2.15.3。然后安裝WinBUGS軟件,WinBUGS軟件為免費軟件,下載、安裝、更新及激活詳見《Meta分析系列之五:貝葉斯Meta分析與WinBUGS軟件》一文 [5]。軟件安裝路徑可自行選擇,本文選擇路徑為“D:\Program Files”。
安裝完畢后,雙擊桌面的R軟件圖標,即可啟動R的交互式窗口(R-GUI)。鼠標左鍵單擊菜單欄“程序包”按鈕,在下拉的菜單中選擇“安裝程序包”選項,在彈出的菜單中選擇“China (beijing1)”,即可看到“packages”對話框,然后在其中找到R2WinBUGS包并雙擊進行安裝。安裝完成后可由library(R2WinBUGS)命令完成加載,加載完成后即可使用。
本文實例納入的5個研究均為雙臂研究,如果納入研究有三臂研究也可根據研究數據自行編寫適用于含三臂研究的代碼。實現網狀Meta分析敏感性的方法有許多,本文介紹的為當前較成熟的隨機效應模型和固定效應模型相比較的方法。
1.2 創建數據并導入數據
根據WinBUGS格式,將原始文獻中的數據總結在Excel中,見表 1。

錄入數據時需對原始數據中的干預措施進行編號,本例共有4種干預措施,分別為Placebo、Rifabutin、Azithromycin 和 Clarithromycin,并將這4種干預措施編號為1~4。表 1中“t1”、“t2”所表示為干預措施。“r1”為在干預措施影響下的有效例數,“n1”為研究所納入的總例數,“na”為該納入研究文獻的干預措施數。
當前發表的網狀Meta分析研究,大多采用手動錄入的方式,但這種方法效率較低且不易修改,所錄入的數據也不易保存,若軟件操作過程中出現錯誤也不易檢查,我們在此介紹一種可以納入Excel表的程序包——“RODBC”包。其命令和結果如下:
library(RODBC)
channel=odbcConnectExcel("F:/model.xls")
REmodeldata =sqlFetch(channel,'Sheet1')
數據導入R軟件后,對數據通過隨機效應模型進行網狀Meta分析,所得結果如下:網狀Meta分析隨機效應模型結果為totresdev 9.129 2,pD=8.9,DIC=69.3。
數據導入R軟件后,對數據通過固定效應模型進行網狀Meta分析,所得結果如下:網狀Meta分析固定效應模型結果為totresdev 8.613 7,pD=8.0,DIC=67.9。
結果中totresdev是評價模型的契合度;DIC信息準則是方差的后驗期望和pD的和;pD被用于描述模型的復雜程度。
通過對比隨機效應模型和固定效應模型的數據可見,兩模型所得結果相近。
敏感性分析可以作為探索異質性來源的一種方法,目前主要用于檢驗納入研究的臨床相似性和方法學相似性。臨床相似性指A vs. C和B vs. C的兩組試驗中研究對象、干預措施和結局測量等的相似性,方法學相似性是指兩組試驗的質量相似性。從敏感性分析結果可知數據較穩健,納入研究的臨床相似性和方法學相似性較好,分析結果較為可信,間接比較可以平衡兩個試驗集的偏倚,且相比直接比較偏倚更小。
2 以R軟件metafor包和combinat包實現一致性分析
2.1 軟件的安裝
根據上文介紹進行R軟件和WinBUGS軟件的安裝,并安裝metafor程序包和combinat程序包完成加載。
2.2 創建數據并導入數據
類似敏感性分析的步驟對原始數據進行錄入,但需對原始數據進行進一步整理。將需要計算出各文獻所包含數據的_SS、_ES、_selogES、_LCI、_UCI、_WT一并錄入Excel表中(表 2)。根據上文介紹的納入Excel函數(RODBC),將準備好的Excel表格納入R軟件,數據框或矩陣名為“Emodel_inconsistency”。

2.3 程序調用及運算
在完成上述準備后,即可進行網狀Meta分析的一致性檢驗了。R軟件通過metafor包和combinat包調用WinBUGS命令,所得結果見圖 1。由圖 1可知:① 數據中的各個治療措施只形成三角環,而未形成四邊環;② 各個環的可信區間均與空白值相交,說明網狀Meta分析計算結果與直接比較計算結果無明顯差異,一致性較好;③ 方塊大小表示樣本量,方塊越大,樣本量越大。

3 小結
本文介紹了實現網狀Meta分析敏感性分析的方法為隨機效應模型和固定效應模型結果的比較,是國內外較常用的方法。該方法在http://www.mtm.uoi.gr/等網站也有相關介紹,且可以下載到相關運算方法的代碼,有興趣的讀者可根據自己數據的情況適當修改代碼加以利用。
敏感性一直被認為是Meta分析的重要組成部分之一。因網狀Meta分析是通過虛擬的間接比較來實現兩種或兩種以上干預措施的相互比較,所以敏感性分析尤為重要。目前敏感性分析主要是驗證納入研究之間的臨床相似性和方法學相似性。臨床相似性指A vs. C和B vs. C的兩組試驗中研究對象、干預措施和結局測量等的相似性,方法學相似性是指兩組試驗的質量相似性。研究表明,若兩個試驗集足夠相似,間接比較可以平衡兩個試驗集的偏倚,且相比直接比較偏倚更小。目前也有剔除低質量研究重新計算來分析網狀Meta分析的敏感性 [6],但筆者認為這種方法還不成熟,且誤差較大。所以本文只介紹了前一種方法。
與傳統Meta分析不同,在網狀 Meta 分析中一致性是指直接與間接比較結果的相似度 [7, 8]。一致性在網狀Meta分析中分為兩種:一種為設計不一致性(Design inconsistency),一種為環狀不一致性(Loop inconsistency)。根據數據類型,本文介紹的方法是用于分析環狀不一致性(Loop inconsistency),當存在≥ 3種治療措施比較時才會出現環狀不一致性,或者干預措施B與干預措施C的比較需要通過媒介干預措施A來實現時將會產生環狀不一致性。設計不一致性所涉及的差異主要表現在不同治療措施效應值的差異。在合理的差異下,我們可以將不同研究設計方法之間的差異作為不一致性來表示 [9]。如果出現不一致性,常提示直接比較或間接比較證據存在方法學缺陷,或兩者臨床特征有差異,或兩種原因同時存在,此時需探討出現不一致性的可能原因并考慮是否應合并直接比較和間接比較結果 [10]。
敏感性和一致性是評價網狀Meta分析結果是否可以指導臨床的重要指標,也是未來網狀Meta分析的難點和重點。目前可進行網狀Meta分析的軟件還有許多,比如SAS軟件、Stata軟件、ADDIS軟件等,通過比較發現R軟件最為簡單方便,且結果準確。