動態Nomogram圖的繪製
更多生信乾貨教程
私信我回復“資料庫”即可免費領取哦
大家好,我是阿琛。在前面的內容中,我們給大家介紹了Nomogram圖的簡單繪製方法(
Nomogram圖不會畫?看了這篇,小白也能輕鬆搞定
),不熟悉的小夥伴可以先回去學習一下。然而,雖然透過該方法得到了相應的視覺化結果,但在實際臨床應用過程中並不方便。因此,繪製一個實用的動態Nomogram圖,不管是對於文章的特色,還是臨床使用,都會極大地增加簡便性,更受大家歡迎。
下面,我們一起來看一下如何繪製動態Nomogram圖給文章增添新的色彩。
1. R包與資料準備
1.1 讀取R包
在正式構建Nomogram圖前,我們需要首先使用survival包構建Cox迴歸模型。
1.2 讀取資料
隨後,讀取相應的資料內容,並使用str()函式檢視資料集內的內容。可以看到,結果顯示,其中包括296個觀測,8個不同的變數內容,包括生存時間(futime),生存狀態(fustat),以及相應的臨床資訊(性別,分期,T分期,M分期,N分期和風險等級)。
同時,根據資料內容,將其中需要用到的分類變數轉化為因子形式。
2. 構建Cox模型
資料準備完成後,接下來需要對資料進行擬合,構建Cox比例風險模型。
在此,使用survival包的coxph()函式對資料進行擬合建模。透過summary()函式,檢視最終的模型結果。
接下來,我們將分別使用三種不同的R包來分別繪製Nomogram圖。
3. 基於regplpot包繪製互動式列線圖模型
首先,使用regplot包來繪製互動式的Nomogram圖。
使用regplot()函式繪製互動式Nomogram圖。
透過plot引數設定展示形式,以指定變數圖的型別。其中,plots = c(“ density”,“ boxes”)為預設形式,且針對因子的第二個內容必須為‘’no plot‘’, ‘’boxes‘’,‘’bars‘’ 和‘’spikes‘’中的其中一個。
同時,透過observation引數來指定展示其中第12個患者TCGA-VQ-A8PB的相關資訊。
結果顯示,該圖中紅色點代表第12個患者對應的臨床資訊,而且經過模型預測,該患者所對應的Total score為1。02分,1年內死亡率為0。114,2年內死亡率為0。26,3年內死亡率為0。319。
4. 基於DynNom包繪製模型
隨後,我們來看下如何使用DynNom包來快速繪製動態Nomogram圖。
使用DynNom()函式可以快速完成動態模型的構建。
接著,我們將患者TCGA-VQ-A8PB的相關資訊輸入進去,其中gender為F,stage為Stage2,T為T3,M為M0,N為N0,risk為high;點選Predict,得到相應的預測生存可能性。
同時,點選“Numerical Summary”板塊,分別得到其1年,2年和3年生存率的預測結果為0。899,0。740和0。680,這與前面透過regplot()函式預測得到的生存結果是相一致的。
5. 基於shinyPredict包繪製模型
除了DynNom包外,還可以使用shinyPredict包進行動態Nomogram圖的繪製。
在shinyPredict()函式中,透過models引數對需要視覺化的模型進行指定,data引數則需要賦予用於預測的資料框格式的資料內容,path引數為儲存的路徑。執行以後,可以在名為result的資料夾下看到三個不同的檔案。
點選檔案“app。R”,使用RStudio軟體直接開啟構建得到的預測模型。
點選右上角的Run App,即可啟動相應的App。
與前面的使用方法一樣,對相應的臨床資訊進行選擇,即可透過預測模型,對患者的生存情況進行預測。
好啦,今天的內容就介紹到這裡了~大家可以使用本次的內容,對文章中的預測模型視覺化結果進一步美化,為文章增添色彩。
—END—