[英]R survival package; plotting log(-log(survival)) against log(time)
我正在嘗試使用 R 生存包,生成log(-log(survival))
對 log(time) 的圖
(有時建議將這種方法用作目視檢查加速壽命或成比例危險特性的方法)。
在“ fun=cloglog
”在選項plot.survfit
不生產什么,我期望它。
使用“MASS”庫中的“gehan”數據:
首先,這是治療組和對照組的簡單生存時間圖:
data(gehan, package="MASS")
gehansurv=Surv(gehan$time, gehan$cens)
plot(survfit(gehansurv ~ gehan$treat), col=c("black", "red"))
到此為止。 現在,如果我使用fun=cloglog
選項, fun=cloglog
的文檔讓我覺得我會得到一個log(-log(survival))
對log(time)
:
樂趣
定義生存曲線變換的任意函數。 例如, fun=log 是繪制對數生存曲線的另一種方法(但軸標有 log(S) 值),而 fun=sqrt 將生成平方根尺度的曲線。 可以使用字符參數指定四種常用的轉換:“log”與使用 log=T 選項相同,“event”繪制累積事件 (f(y) = 1-y),“cumhaz”繪制累積事件風險函數 (f(y) = -log(y)) 和“cloglog”創建一個免費的對數生存圖 (f(y) = log(-log(y)) 以及 x 軸的對數刻度)。
但是,當我嘗試這個時,它似乎沒有使用log(-log(y))
函數,因為顯示的曲線仍在減少(因為原始生存曲線正在減少,並且應用了f(y)=log(-log(y))
函數是一個遞減函數,由此產生的log(-log(survival))
曲線應該是遞增的)。
此外,x 軸不是對數縮放的:
library(VGAM)
plot(survfit(gehansurv ~ gehan$treat), col=c("black", "red"), fun=cloglog)
我可以通過定義我自己的log(-log())
函數並使用log="x"
選項來獲得我想要的:
> myfun=function(p){return(log(-log(p)))}
> plot(survfit(gehansurv ~ gehan$treat), col=c("black", "red"), fun=myfun, log="x")
所以:我在上面做錯了什么(或者我是如何誤解plot.survfit
文檔的)?
補充問題: "fun="
選項如何更改水平軸上的縮放比例,因為文檔聲稱"fun=cloglog"
會,從表面"fun=cloglog"
, "fun"
的參數是應用於垂直變量的函數?
為 plot.survfit 在 cloglog 周圍加上引號。
library(survival)
library(MASS)
data(gehan)
gehansurv=Surv(gehan$time, gehan$cens)
plot(survfit(gehansurv ~ gehan$treat), col=c("black", "red"), fun="cloglog")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.