當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


R plot.survfit survfit 對象的繪圖方法

R語言 plot.survfit 位於 survival 包(package)。

說明

生成生存曲線圖,每個層一條曲線。 log=T 選項做了額外的工作來避免 log(0),並嘗試創建令人滿意的結果。如果存在零點,則默認將其繪製在曲線上最小非零值的 0.8 倍處。

曲線的繪製順序與 print 列出的順序相同(給出每條曲線的 1 行摘要)。這將是 collty 等的使用順序。

用法

## S3 method for class 'survfit'
plot(x, conf.int=, mark.time=FALSE, 
 pch=3, col=1, lty=1, lwd=1, cex=1, log=FALSE, xscale=1, yscale=1,  
 xlim, ylim, xmax, fun, 
 xlab="", ylab="", xaxs="r",  conf.times, conf.cap=.005,
 conf.offset=.012,
 conf.type = c("log", "log-log", "plain", "logit", "arcsin"),
 mark, noplot="(s0)", cumhaz=FALSE,
 firstx, ymin, ...)

參數

x

survfit 的對象,通常由 survfit 函數返回。

conf.int

確定是否繪製逐點置信區間。默認情況下,如果隻有 1 條曲線(即沒有層),使用 95% 置信區間,則執行此操作。或者,這可以是給出所需置信水平的數值。

mark.time

控製曲線的標簽。如果設置為 FALSE ,則不進行任何標記。如果 TRUE ,則在每個審查時間標記曲線。如果mark 是數值向量,則在指定時間點標記曲線。

pch

將用於標記曲線的字符向量。 points 幫助文件包含可能標記的示例。單個字符串(例如 "abcd")被視為向量 c("a", "b", "c", "d") 。如果向量比曲行數短,則循環重用該向量。如果存在,則意味著 mark.time = TRUE

col

指定每條曲線顏色的整數向量。默認值為 1。

lty

指定每條曲線線型的整數向量。默認值為 1。

lwd

線寬數值向量。默認值為 1。

cex

指定標記大小的數值。這不被視為向量;所有標記都具有相同的大小。

log

一個邏輯值,如果為 TRUE,則 y 軸將采用對數刻度。或者,可以將標準字符串"x"、"y"或"xy"之一賦予特定的對數水平和/或垂直軸。

xscale

類似於 yscale 的數值,用於 x 軸上的標簽。值 365.25 將提供以年為單位的標簽,而不是原始天數。

yscale

用於與 y 軸上的標簽相乘的數值。例如,值 100 將用於給出百分比比例。僅更改標簽,而不更改實際繪圖坐標,因此添加帶有“ lines(surv.exp(...)) ”的曲線將像沒有 yscale 參數一樣執行。

xlim , ylim

繪圖區域的可選限製。

xmax

最大水平繪圖坐標。這可以用來縮小繪圖的範圍。它在繪製曲線之前會縮短曲線,因此與使用 xlim 圖形參數不同,不會生成有關越界點的警告消息。

fun

定義生存(或狀態概率,或累積風險)曲線變換的任意函數。例如,fun=log 是繪製 log-survival 曲線的另一種方法(但軸標有 log(S) 值),而 fun=sqrt 將生成平方根刻度的曲線。可以使用字符參數指定四種常用的轉換:"S" 給出通常的生存曲線,"log" 與使用 log=T 選項相同,"event""F" 繪製經驗 CDF (f(y) = 1-y),"cloglog" 創建一個互補的 log-log 生存圖(f(y) = log(-log(y)) 以及 x 軸的對數刻度)。術語 "identity""surv" 允許作為 type="S" 的同義詞。參數 "cumhaz" 導致繪製累積風險函數。

xlab

給 x 軸的標簽。

ylab

給 y 軸的標簽。

xaxs

"S" 用於生存曲線或標準 x 軸樣式,如 par 中列出的; "r"(常規)是 R 默認值。曆史上顯示的生存曲線是曲線接觸 y 軸,但不接觸其他 3 邊繪圖的邊界框,類型 "S" 通過操作繪圖範圍然後在內部使用 "i" 樣式來實現此目的。然而,"S" 風格正變得越來越不常見。

conf.times

在曲線上放置置信條的可選時間向量。如果存在,將使用它們代替置信帶。

conf.cap

置信條頂部水平帽的寬度;僅當使用 conf.times 時才使用。值 1 是繪圖區域的寬度。

conf.offset

當繪圖上有多條曲線時,置信條的偏移量。值 1 是繪圖區域的寬度。如果這是單個數字,則每條曲線的條形都會與前一條曲線的條形偏移此量,如果它是向量,則直接使用值。

conf.type

"plain""log" (默認)、"log-log""logit" 之一。隻需要足夠的字符串來唯一標識它即可。第一個選項會導致不生成置信區間。第二個導致標準間隔 curve +- k *se(curve) ,其中 k 由 conf.int 確定。對數選項根據累積危險或對數(生存)計算間隔。 log-log 選項將間隔基於日誌風險或 log(-log(survival)),而 logit 選項基於 log(survival/(1-survival))。

mark

pch 的曆史別名

noplot

對於多狀態模型,不會繪製帶有此標簽的曲線。 (另請參閱 survcheck 中的 istate0 參數。)

cumhaz

繪製累積風險而不是狀態或生存的概率。 (可選)這可以是一個數值向量,指定要繪製 cumhaz 組件的哪些列。

ymin

這通常作為 ylim 參數的一部分給出

firstx

這通常作為 xlim 參數的一部分給出。

...

將傳遞給底層繪圖方法的其他參數,例如 xlab 或 ylab。

細節

如果對象包含累積危險曲線,則 fun='cumhaz' 將繪製該曲線,否則它將繪製 -log(S) 作為近似值。理論上,S = ,其中 S 是生存率, 是累積風險。僅在特殊情況下,相同的關係才適用於 S 和 的估計,但近似值通常很接近。

survfit 函數創建多狀態生存曲線時,生成的對象也具有類 ‘survfitms’。競爭風險曲線是一種常見情況。在這種情況下,fun 參數將被忽略。

使用 conf.times 參數時,置信條會偏移 conf.offset 單位以避免重疊。每條曲線上的條形是繪製條形的時間點的置信區間,即每條曲線的不同時間點。如果曲線在該點很陡峭,則 conf.offset 的正值和負值的視覺效果有時可能會大不相同。

包含組件 xy 的列表,包含每條曲線上最後一個點的坐標(但不包含置信限)。這對於標記可能有用。

注意

在之前的版本中,xscaleyscale 的行為有所不同:第一個更改了繪圖和所有後續操作(例如添加圖例)的比例,而 yscale 僅影響軸標簽。這在版本 2-36.4 中已標準化,這兩個參數現在僅影響標簽。

在大約 2.36 之前的版本中,survfit 對象不包含累積危險作為單獨的結果,並且使用 fun="cumhaz" 將繪製累積危險的近似值 -log(surv)。當累積危險添加到對象時,繪圖函數的 cumhaz=TRUE 參數被添加。在版本 2.3-8 中, fun="cumhaz" 的使用成為 cumhaz=TRUE 的同義詞。

例子

leukemia.surv <- survfit(Surv(time, status) ~ x, data = aml) 
plot(leukemia.surv, lty = 2:3) 
legend(100, .9, c("Maintenance", "No Maintenance"), lty = 2:3) 
title("Kaplan-Meier Curves\nfor AML Maintenance Study") 
lsurv2 <- survfit(Surv(time, status) ~ x, aml, type='fleming') 
plot(lsurv2, lty=2:3, fun="cumhaz", 
    xlab="Months", ylab="Cumulative Hazard") 

也可以看看

points.survfitlines.survfitparsurvfit

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Plot method for survfit objects。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。