奧推網

選單
科技

乾貨| 動態nomogram圖的繪製,這樣一步步讓你的繪圖更加簡單| 乾貨

動態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—