李勝,張超,華先平,原瑞霞,曾憲濤
· 循證理論與實踐 ·
應(yīng)用R實現(xiàn)診斷準確性試驗貝葉斯Meta分析
李勝,張超,華先平,原瑞霞,曾憲濤
疾病治療前需對疾病進行準確診斷,診斷方法的準確度將直接影響后續(xù)治療的合理性[1]。類似于干預性研究,單個的診斷準確性試驗(diagnostic test accuracy,DTA)也存在樣本量過小等局限性。DTA的Meta分析可以克服這一局限性,為臨床醫(yī)生和衛(wèi)生技術(shù)評估機構(gòu)提供定量合成的科學證據(jù),從而將各種新的檢查引進到醫(yī)學領(lǐng)域[2,3]。當前DTA的Meta分析多基于頻率學派的理論制作,如Meta-Disc和RevMan 5軟件[4-6]。隨著計算機的快速發(fā)展,貝葉斯統(tǒng)計再次得到重視,相關(guān)的Meta分析方法也隨之而來[7]。R是一款基于頻率學和貝葉斯統(tǒng)計完成各種Meta分析的優(yōu)秀軟件[7,8]。當前,R可通過bamdit程序包[9]和HSROC程序包[10]實現(xiàn)DTA的貝葉斯Meta分析,本文結(jié)合實例[11]對這兩款程序包進行介紹并比較其結(jié)果。
bamdit是Pablo Emilio Verde和Arnold Sykosch基于貝葉斯理論研發(fā)的一款在R下實現(xiàn)DTA的Meta分析的程序包[9],于2011年發(fā)布,最新版本為V-1.1-1。該程序包將所采用的代碼編制封裝在后臺,自身不含分亞組分析模塊。
HSROC程序包[10]由Ian Schiller和Nandini Dendukuri研發(fā),最新版本為V-2.1.7。同bamdit程序包一樣,該程序包實現(xiàn)DTA的Meta分析也是基于貝葉斯方法實現(xiàn)的,且代碼封存樣式一致。
R軟件的簡介及安裝見筆者前述文中[8,12]介紹,本文使用的版本為R-3.0.2。在R軟件安裝完畢后,雙擊桌面的R軟件圖標,即可啟動R的交互式窗口(R-GUI)。于命令提示符“>”后輸入命令install.packages("bamdit"),在彈出對話框中選擇某個鏡像安裝(CRAN),安裝完成后可由library("bamit")命令完成加載。同樣,按照這種方法可完成HSROC程序包的安裝及加載。
本文以Walusimbi等[11]文中的GeneXpert組的數(shù)據(jù)(表1)為例演示使用方法。
首先,需要對數(shù)據(jù)進行格式的排列,排列完成之后的數(shù)據(jù)見表1??梢钥吹剑瑑蓚€程序包在題頭部位的表示方式是不一樣的,但其他地方均相同。因此,在具體操作時,應(yīng)單獨制作各自的表格。將bamdit程序包的數(shù)據(jù)儲存在桌面的Rwork文件中的bamditdata.txt文本中;HSROC程序包的數(shù)據(jù)儲存在桌面的Rwork文件中的HSROCdata.txt文本中。之后,即可開始進行數(shù)據(jù)加載。
bamdit程序包數(shù)據(jù)加載的命令為:
data<-read.table("C:\Users\Administrator\ Desktop\Rwork\bamditdata.txt",header=TRUE,sep= "",na.strings="NA", dec=".", strip.white=TRUE)
HSROC程序包數(shù)據(jù)加載的命令為:
data<-read.table("C:\Users\Administrator\ Desktop\Rwork\HSROCdata.txt",sep="",na. strings="NA", dec=".", strip.white=TRUE)
表1 實例數(shù)據(jù)[11]排列格式
4.1 bamdit程序包bamdit程序包是通過調(diào)用JAGS軟件[13,14]來實現(xiàn)的,在使用該程序包時只需對其內(nèi)部參數(shù)進行設(shè)置就可以了。數(shù)據(jù)分析需要使用“metadiag()”命令來實現(xiàn),具體命令與模型屬性如下:
model=metadiag(data,n.chains=3,n.iter=50000,n. burnin=10000,n.thin=10)
該命令中,n.chains為鏈數(shù)目,n.iter:迭代次數(shù),n.burnin:退火次數(shù),n.thin:步長。
4.2 HSROC程序包該程序包通過自身直接實現(xiàn),故需對其內(nèi)部設(shè)置的模型進行相關(guān)的分析。首先需要使用“args()函數(shù)”來調(diào)出內(nèi)部模型屬性設(shè)置,具體命令與模型屬性如下:
args(HSROC)
function (data, iter.num, init = NULL, sub_rs = NULL, first.run = TRUE, path = getwd(), refresh = 100, prior.SEref = NULL, prior.SPref = NULL,prior_PI = c(0, 1), prior_LAMBDA = c(-3, 3), prior_THETA = c(-1.5, 1.5), prior_sd_alpha = list(0, 2, "sd"), prior_sd_theta = list(0, 2, "sd"), prior_beta = c(-0.75, 0.75))
上述命令中:prior為先驗定義變量,prior. SEref和prior.SPref設(shè)為空,針對金標準而設(shè)定;其他變量后面將會在初始值中介紹。當然,上述先驗的設(shè)定操作者可以自行設(shè)定,也可直接使用默認。
對于初始值,需將其分為組內(nèi)與組間兩部分,并分別進行設(shè)定。初始值的設(shè)定可使用默認值,本例以設(shè)置初始值為例進行講解。
組內(nèi)初始值通常分為五個部分,具體設(shè)置如表2所示。組間初始值通常也分為五個部分,具體設(shè)置如表3所示。
設(shè)定好組內(nèi)與組間初始值后,就需將兩者進行合并了,即匯總初始值。具體命令為:
init = list(init_within, init_between)
接著,可以使用如下命令進行迭代運算:
HSROC(data=data, iter.num=50000, init=init)
注:“iter.num”為迭代次數(shù)的設(shè)定。
表2 組內(nèi)初始值設(shè)定匯總表
表3 組間初始值設(shè)定匯總表
完成上述分析后,即可對結(jié)果進行匯總分析。
5.1 bamdit程序包匯總結(jié)果的具體命令及結(jié)果見表4。
表4 bamdit程序包匯總結(jié)果的命令及匯總后的結(jié)果
該程序包僅能繪制“散點圖與邊緣密度圖”這一種圖形,其它圖形的繪制需要借助其他程序包或軟件實現(xiàn)。繪制該圖形的命令為(圖略):bamdit.plot(model,data=data)
5.2. HSROC程序包HSROC程序包可以一步完成結(jié)果匯總和圖形繪制,命令如下:
HSROCSummary(data=data, burn_in=10000, Thin=2, print_plot=TRUE)
上述命令執(zhí)行完成后,結(jié)果及圖形均自動保存在“C:/Users/Administrator/Documents”文件夾中。文件中的“Summary ROC curve.pdf”、“Density plots for N = 2000.pdf”和“Trace plots for N = 2000.pdf”分別為匯總ROC曲線圖(圖1)、密度圖(圖略)和軌跡圖(圖略);“Summary for N = 20000.txt”文件為匯總結(jié)果;其他文件為迭代過程中軟件自動生成參數(shù)文件。圖1中,每個空心圓圈表示一個樣本,大小表示樣本量(正比);紅色實心圓圈為匯總后敏感度與特異度的坐標分布;紅色橢圓圈表示匯總敏感性與特異性的95%可信區(qū)間;藍色橢圓圈表示預測敏感性與特異性的95%可信區(qū)間。
打開“Summary for N = 20000.txt”,可看到該文本包括六個部分:迭代運算屬性、原始樣本數(shù)據(jù)、先驗信息、組間參數(shù)、組內(nèi)參數(shù)和后驗結(jié)果。其中,后驗結(jié)果如表5所示。至此,使用這兩款程序包實現(xiàn)DTA的貝葉斯Meta分析的操作就完成了。
表5 后驗結(jié)果匯總表
圖1 SROC曲線圖
上述兩個程序包均是基于貝葉斯理論[8,15]研發(fā)的,從結(jié)果來看,相似度很高(表4和表5)。以合并敏感度和特異度為例,bamdit程序包的結(jié)果分別為Sen=0.670(95%CrI = 0.376~0.887)、Spe=0.9064(95%CrI=0.9064~0.998);H S R O C程序包的結(jié)果分別為S e n=0.6 9 7(95%CrI=0.353~1.000)、Spe =0.979(95%CrI=0.844~1.000)。這兩款程序包的共同特點在于:在執(zhí)行Meta分析前,常需操作者對相應(yīng)參數(shù)進行先驗設(shè)定(本例為默認設(shè)定)以及初始值的設(shè)定,而先驗參數(shù)設(shè)定偏離時,則可影響結(jié)果。由于本處默認先驗較為可靠,故最終結(jié)果十分相似。
相比較而言,HSROC程序包的功能較bamdit程序包強大,特別是在繪圖功能上。這是由于bamdit程序包需要調(diào)用JAGS軟件[13,14]來實現(xiàn),而HSROC程序包通過自身完成。此外,HSROC程序包還可以實現(xiàn)亞組分析功能。但兩款程序包均有其局限性,如不能繪制HSROC曲線圖、不具備QUADAS工具[16]或QUADAS-2工具[17]模塊以評價納入研究方法學質(zhì)量的功能、不能繪制相關(guān)的森林圖、不能執(zhí)行Meta回歸分析[18]等。
總之,這兩款程序包可以滿足貝葉斯模型下的DTA的Meta分析計算的需求,R開放的特性也決定了其會在后期不斷的完善。對于初學者而言,因涉及到先驗參數(shù)的設(shè)定,故建議使用頻率學方法實現(xiàn)較為安全。
[1] 曾憲濤,何明武,主編. 診斷準確性試驗Meta分析軟件一本通[M].北京:軍事醫(yī)學科學出版社,2014.
[2] Knottnerus JA,Buntinx F. The evidence base of clinical diagnosis: Theory and methods of diagnostic research,Second Edition[M]. Wiley-Blackwell, 2009.
[3] Devillé WL,Buntinx F,Bouter LM,et al. Conducting systematic reviews of diagnostic studies: didactic guidelines[J]. BMC Med Res Methodol, 2002,2:9.
[4] 曾憲濤,李勝,雷晉,等. Review Manager 5軟件在診斷準確性試驗的Meta分析中的應(yīng)用[J]. 湖北醫(yī)藥學院學報,2013,32(1):6-16.
[5] 鄢金柱,翁鴻,冷衛(wèi)東,等. 診斷準確性試驗Meta分析分層受試者工作特征曲線的SAS實現(xiàn)[J]. 湖北醫(yī)藥學院學報,2014,33(4):365-9.
[6] Zamora J,Abraira V, Muriel A,et al. Meta-Disc: a software for Metaanalysis of test accuracy data[J]. BMC Med Res Methodol,2006,6:31.
[7] Menten J,Boelaert M,Lesaffre E. Bayesian meta-analysis of diagnostic tests allowing for imperfect reference standards[J]. Stat Med,2013, 32(30):5398-413.
[8] 羅杰,冷衛(wèi)東,主編. 系統(tǒng)評價/Meta分析理論與實踐[M]. 北京:軍事醫(yī)學科學出版社,2013.
[9] Verde PE,Sykosch A. bamdit: Bayesian Meta-Analysis of diagnostic test data, Version 1.1-1 [EB/OL]. URL: http://cran.r-project.org/web/ packages/bamdit/index.html.
[10] Schiller I,Dendukuri N. HSROC: Joint meta-analysis of diagnostic test sensitivity and specificity with or without a gold standard reference test,Version 2.1.7 [EB/OL]. URL: http://www.nandinidendukuri.com/.
[11] Walusimbi S,Bwanga F,De Costa A,et al. Meta-analysis to compare the accuracy of GeneXpert, MODS and the WHO 2007 algorithm for diagnosis of smear-negative pulmonary tuberculosis[J]. BMC Infect Dis,2013,13:507.
[12] 董圣杰,曾憲濤,郭毅. R軟件Metafor程序包在Meta分析中的應(yīng)用[J]. 中國循證醫(yī)學雜志,2012,12(9):1141-7.
[13] 張超,孫鳳,曾憲濤. R軟件調(diào)用JAGS軟件實現(xiàn)網(wǎng)狀Meta分析[J]. 中國循證醫(yī)學雜志,2014,14(2):241-8.
[14] 沈可,王芬,張超,等. 網(wǎng)狀Meta分析在JAGS軟件中的實現(xiàn)[J]. 數(shù)理醫(yī)藥學雜志,2014,27(4):446-51.
[15] 董圣杰,冷衛(wèi)東,田家祥,等. Meta分析系列之五:貝葉斯Meta分析與WinBUGS軟件[J]. 中國循證心血管醫(yī)學雜志,2012,4(5):395-8.
[16] 曾憲濤,莊麗萍,楊宗國,等. Meta分析系列之七:非隨機實驗性研究、診斷性試驗及動物實驗的質(zhì)量評價工具[J]. 中國循證心血管醫(yī)學雜志,2012,4(6):496-9.
[17] 鄔蘭,張永,曾憲濤. QUADAS-2在診斷準確性研究的質(zhì)量評價工具中的應(yīng)用[J]. 湖北醫(yī)藥學院學報,2013,32(3):201-8.
[18] 曾憲濤,田國祥,張超,等. Meta分析系列之十五:Meta分析的進展與思考[J]. 中國循證心血管醫(yī)學雜志,2013,5(6):561-563,587.
R4
A
1674-4055(2015)01-0013-04
2014-10-10)
(責任編輯:孫竹)
430071 武漢,武漢大學中南醫(yī)院循證與轉(zhuǎn)化醫(yī)學中心(李勝,曾憲濤);湖北醫(yī)藥學院附屬太和醫(yī)院循證醫(yī)學中心(張超,原瑞霞,曾憲濤);湖北醫(yī)藥學院附屬隨州市中心醫(yī)院(華先平)
曾憲濤,E-mail:zengxiantao1128@163.com.
10.3969/j.1674-4055.2015.01.04