[英]survfit() Shade 95% confidence interval survival plot
我不確定......我覺得這很難,但是我無法解決這個問題。 如果您運行:
library(survival)
leukemia.surv <- survfit(Surv(time, status) ~ 1, data = aml)
plot(leukemia.surv, lty = 2:3)
你會看到生存曲線及其95%的置信區間。 而不是顯示兩條顯示上下95%CI的線,id喜歡遮蔽上下95%邊界之間的區域。
這是否必須通過polygon()之類的東西來完成? 所有坐標都可以在摘要中找到......
> summary(leukemia.surv)
Call: survfit(formula = Surv(time, status) ~ 1, data = aml)
time n.risk n.event survival std.err lower 95% CI upper 95% CI
5 23 2 0.9130 0.0588 0.8049 1.000
8 21 2 0.8261 0.0790 0.6848 0.996
9 19 1 0.7826 0.0860 0.6310 0.971
12 18 1 0.7391 0.0916 0.5798 0.942
13 17 1 0.6957 0.0959 0.5309 0.912
18 14 1 0.6460 0.1011 0.4753 0.878
23 13 2 0.5466 0.1073 0.3721 0.803
27 11 1 0.4969 0.1084 0.3240 0.762
30 9 1 0.4417 0.1095 0.2717 0.718
31 8 1 0.3865 0.1089 0.2225 0.671
33 7 1 0.3313 0.1064 0.1765 0.622
34 6 1 0.2761 0.1020 0.1338 0.569
43 5 1 0.2208 0.0954 0.0947 0.515
45 4 1 0.1656 0.0860 0.0598 0.458
48 2 1 0.0828 0.0727 0.0148 0.462
是否存在遮蔽95%CI區域的功能?
您可以使用summary()
數據以置信區間作為多邊形來創建自己的圖。
首先,將summary()
保存為對象。 繪圖數據位於變量time
, surv
, upper
和lower
。
mod<-summary(leukemia.surv)
現在您可以使用函數plot()
來定義繪圖區域。 然后用polygon()
繪制置信區間。 在這里,您必須以相反的順序提供x值和x值,對於y值,使用lower
值並使用upper
值。 用功能lines()
添加生存線。 通過在行lines()
添加參數type="s"
,您將獲得行作為步驟。
with(mod,plot(time,surv,type="n",xlim=c(5,50),ylim=c(0,1)))
with(mod,polygon(c(time,rev(time)),c(lower,rev(upper)),
col = "grey75", border = FALSE))
with(mod,lines(time,surv,type="s"))
我開發了一個函數來繪制生存曲線中的陰影置信區間。 你可以在這里找到它: 用ggplot2繪制R中的生存曲線
也許你會發現它很有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.