[英]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.