劉小華 何 鵬 徐 凱 李紹東 馬 紅 趙華碩
R軟件OptimalCutpoints包在影像診斷中的應(yīng)用*
劉小華1何 鵬2徐 凱1李紹東1馬 紅1趙華碩3△
目的探討通過使用R軟件OptimalCutpoints程序包來解決影像學(xué)數(shù)據(jù)中常見截斷值求取結(jié)果的智能化、可視化的實現(xiàn)。方法通過對搜集的50例腦膠質(zhì)瘤MRI數(shù)據(jù),采用OptimalCutpoints包,根據(jù)不同目的選取常見的選擇截斷值的方法分別進行最佳截斷值的求取,并將結(jié)果加以比較。結(jié)果OptimalCutpoints包不但實現(xiàn)了在不同情況下最佳截斷點的智能選取,還給出了相應(yīng)的可視化結(jié)果和ROC分析結(jié)果。結(jié)論OptimalCutpoints包不需要太深的統(tǒng)計基礎(chǔ),使用方便,可供選擇的方法豐富,能自動實現(xiàn)對診斷指標的最佳截斷值的選取,結(jié)果直觀、形象。
診斷試驗 ROC分析 最佳截斷值 R軟件
在臨床上,醫(yī)生常需要對某種可疑疾病的指標采用影像學(xué)設(shè)備,如CT、核磁共振成像(MRI)及超聲波診斷等進行檢查。為更好地讓臨床醫(yī)生根據(jù)指標結(jié)果迅速做出決策,常需要將指標值定性為陽性(異常)或陰性(正常),以便對患者是否正常進行判別[1]。但不同的疾病其診斷界值的選取要求不同,如某些疾病較罕見,其治療對“無病”患者危害較大、對“有病”患者療效較差,需要特異度高;如果某些疾病治療對“無病”患者危害較小、對“有病”患者療效較好,則需要靈敏度高;而有些要求兩者均衡考慮。不同的要求所進行的統(tǒng)計往往不同。對臨床醫(yī)生來講,最佳截斷點的選擇和計算是一個比較常見且復(fù)雜的問題。因此,如何根據(jù)醫(yī)學(xué)影像檢查數(shù)據(jù)對疾病進行快速、準確地定位成為困擾臨床醫(yī)生的一個亟待解決的難題。
2014年10月美國生物統(tǒng)計學(xué)家Lopez-Raton M[2]開發(fā)了一種專門為診斷試驗求取最佳截斷值的R軟件包OptimalCutpoints,為這類分析的實現(xiàn)提供了極大便捷,國內(nèi)少有介紹R軟件在影像診斷中應(yīng)用的文獻,本文以實例呈現(xiàn)使用R軟件OptimalCutpoints程序包實現(xiàn)最佳截斷值分析的過程,以期為廣大臨床醫(yī)生提供參考,也為R軟件的應(yīng)用提供新思路。
R軟件是近年出現(xiàn)的一種免費開放式的統(tǒng)計編程軟件,具備完整的數(shù)據(jù)處理、計算和作圖功能,還可以根據(jù)使用者的需要定制擴展包以完成特定的工作[3]。用戶可以從 R軟件的官方網(wǎng)站(http://www.rproject.org)獲取最新的軟件及相應(yīng)的統(tǒng)計包。本文講解中使用的版本為R-3.2.0。在R軟件安裝完畢后,雙擊桌面的R軟件圖標,即可啟動R的交互式窗口(R-GUI)。于命令提示符“>”后輸入命令 install.packages(“OptimalCutpoints”),在彈出的對話框中選擇某個鏡像安裝(CRAN),安裝完成后可由library(“OptimalCutpoints”)命令完成加載。至此,軟件及OptimalCutpoints程序安裝完畢。
本文數(shù)據(jù)來源于徐州醫(yī)學(xué)院附屬醫(yī)院影像科關(guān)于腦膠質(zhì)瘤的MRI數(shù)據(jù),其主要目的是研究4個不同的MRI參數(shù)對腦膠質(zhì)瘤的鑒別診斷能力及各參數(shù)的截斷值,4個指標中,除了ADC指標值越大其惡性程度越低外,其他指標值越大惡性程度越高。
在數(shù)據(jù)加載前,需要對數(shù)據(jù)進行格式排列,排列后的形式見表1。數(shù)據(jù)排列完成后,為便于R讀入數(shù)據(jù),將其轉(zhuǎn)換為常見的SPSS軟件讀取的“.sav”格式儲放在桌面并用foreign包進行數(shù)據(jù)加載,具體命令如下:
表1 導(dǎo)入數(shù)據(jù)的格式
install.packages(“foreign”)
library(foreign)
w <-read.spss (“C:/Users/Administrator/Desktop/MRI.sav”)#讀入 spss數(shù)據(jù)格式
在完成數(shù)據(jù)加載后,即可實現(xiàn)數(shù)據(jù)的分析。該程序包執(zhí)行數(shù)據(jù)分析時,通常用到optimal.cutpoints函數(shù)進行ROC曲線面積及截斷點相關(guān)計算、summary函數(shù)對數(shù)據(jù)分析完成后執(zhí)行匯總及用plot函數(shù)以圖形化形式呈現(xiàn)統(tǒng)計分析結(jié)果。以下將展示具體命令及相關(guān)說明。
(1)不含協(xié)變量的情況
①診斷指標越大異常概率越大的情況
以MRI診斷指標ACBF采用“Youden指數(shù)最大法”計算最佳截斷點為例:
library(“OptimalCutpoints”)
>ACBFcutoff<-optimal.cutpoints(X=“ACBF”,status=“result”,tag.healthy=1,methods=“Youden”,data=w,ci.fit=TRUE,conf.level=0.95)
>summary(ACBFcutoff)
>plot(ACBFcutoff,which=c(1,3),pch=22,col=“blue”,ylim=c(0,1))
第一個命令“>ACBFcutoff”讀者可以理解為將計算結(jié)果保存于 ACBFcutoff。其中,命令參數(shù)X=“ACBF”指定診斷指標變量 ACBF;status=“result”指定金標準指標;tag.healthy=1為金標準正常時的標志;methods=“Youden”表明計算截斷值時采用包中最常用的方法Youden指數(shù)最大法;ci.fit=TRUE要求計算可信區(qū)間;conf.level=0.95為計算各個指標的95%可信區(qū)間。第二個命令“>summary(ACBFcutoff)”將顯示相關(guān)計算結(jié)果內(nèi)容,其中AUC為ROC分析的面積,cutoff為最佳截斷值,Se為靈敏度,Sp為特異度,PPV為陽性預(yù)測值,NPV為陰性預(yù)測值,Optimal criterion為Youden指數(shù)原則最大值。第三個命令“>plot”為以圖形化形式呈現(xiàn)具體結(jié)果(圖1-2)。
圖1 ABCF指標的ROC曲線
圖2 ABCF指標的診斷界值和Youden指數(shù)值
表2 不同原則求取最佳截斷點常見方法結(jié)果比較
②診斷指標越大,異常概率越小的情況
由于ADC指標反映的是其值越大惡性程度越低,如果直接采取上面的代碼進行統(tǒng)計分析,得到的結(jié)果可能剛好相反,故只需要對上述代碼添加條件設(shè)置,具體代碼如下:
>ADCcutoff<-optimal.cutpoints(X=“ADC”,status=“result”,tag.healthy=1,direction=“>”,methods=“Youden”,data=w,ci.fit=TRUE,conf.level=0.95)
其中direction=“>”表明該指標大于截斷值為正常,默認情況為大于該截斷值為異常,其他參數(shù)命令意義同上。
(2)含協(xié)變量的情況
在臨床實踐中,不僅要考慮到該診斷試驗的固有正確度,還應(yīng)該考慮到病人的性別、患病率、病情嚴重程度或解剖部位等對診斷指標的影響[4],故在此以病人性別為例加以說明,來探討性別對診斷準確度的影響,實例如下:
>ACBFcutoff_gender<-optimal.cutpoints(X=“ACBF”,status=“result”,tag.healthy=1,methods=“Youden”,data=w,categorical.cov=“gender”,ci.fit=TRUE,conf.level=0.95)
>plot(ACBFcutoff_gender,which=c(1,3),pch=22,col=“red”,ylim=c(0,1))
其中第一條命令中categorical.cov=“gender”說明考慮協(xié)變量性別的影響。其他命令同上文,詳細結(jié)果見圖3~6。
圖3 男性ABCF指標的ROC曲線
圖4 女性ABCF指標的ROC曲線
圖5 男性ABCF指標的診斷界值和Youden指數(shù)值
圖6 女性ABCF指標的診斷界值和Youden指數(shù)值
從圖中我們可以清楚地看出,不同性別的診斷指標截斷值不同,ABCF的診斷能力在女性中強于男性,ABCF的截斷值男性要大于女性。
科學(xué)研究中,進行ROC曲線分析的軟件非常多,除常見的SPSS軟件外,還有SAS軟件、ROC曲線分析專用工具如ROCKIT、ROCPWR等。但是他們要么不能很好地直接求取截斷點,要么就是選取截斷點的規(guī)則較單一或需要繁瑣的編程[5]。
隨著R軟件OptimalCutpoints程序包的發(fā)布,使得繁瑣的計算變得簡單,結(jié)果表達更加形象、直觀,而且它綜合考慮到各個學(xué)科的應(yīng)用可能,提供截斷點選擇參考原則的方法多達34種。
本文只選取了不同原則常見的幾種方法加以說明,由表2可知,在診斷價值(AUC值)相等的情況下,根據(jù)不同目的選取的方法不同,得出的最佳截斷值亦有所差異。臨床醫(yī)生可以綜合考慮疾病的發(fā)病概率、特征和治療效果以及成本來選擇合適的方法進行計算。
盡管如此,OptimalCutpoints程序包還有許多需要完善的地方,最大的缺陷是沒有集合不同指標ROC間的AUC面積比較功能。要實現(xiàn)ROC曲線面積間的差異比較,還需要特調(diào)用 Daim包、ROCR包或 pROC包[6]。
本文結(jié)合實例,主要對R軟件中實現(xiàn)最佳截斷點分析時相關(guān)的函數(shù)調(diào)用及繪圖功能作簡要的說明,涉及更多的選項請參照R的幫助文檔。
[1]宇傳華.ROC分析方法及其在醫(yī)學(xué)研究中的應(yīng)用.第四軍醫(yī)大學(xué),2000.
[2] López-Ratón M,Rodríguez-09 lvarez MX,Cadarso-Suárez C,et al.Optimal Cutpoints:An R Package for Selecting Optimal Cutpoints in Diagnostic Tests.Journal of Statistical Software,2014,61(8).
[3]紀威,張濤,崔軍.R軟件在慢性病監(jiān)測數(shù)據(jù)清洗中的應(yīng)用.中國衛(wèi)生統(tǒng)計,2014,31(4):718-719.
[4]Zhou XH,Obuchowski NA,M cclish DK.Statistical Methods in Diagnostic Medicine.W iley&Sons,2010.
[5]Gonen M.Analyzing Receiver Operating Characteristic Curves with SAS.American Statistician,2008,62(4):1036-1036.
[6]Sing T.ROCR:visualizing classifier performance in R.Bioinformatics,2005,21(20):3940-3941.
江蘇高校哲學(xué)社會科學(xué)研究基金項目(No:2014SJD440)
1.徐州醫(yī)學(xué)院附屬醫(yī)院影像科(221002)
2.上海常笑健康管理咨詢有限公司
3.徐州醫(yī)學(xué)院流行病與衛(wèi)生統(tǒng)計教研室
△通信作者:趙華碩.E-mail:hszhao@xzmc.edu.cn
(責任編輯:郭海強)