On Sun, 10 May 2009, John Sorkin wrote:
R 2.8.1
Windows XP
How does one plot the -log(log(survival)) from a coxph? Survfit does not seem
to be up to the task.
It depends on what you mean.
You can convert the plots to a -log(log(survival)) scale with the option
fun="cloglog". In the example from my previous reply
plot(survfit(fit, newdata=data.frame(age=c(40,50,60))),
xscale=365.25, xlab = "Years", ylab="Survival",fun="cloglog")
This is a bit pointless: since these curves are from a Cox model, they are
exactly parallel on a -log(log(survival)) scale.
People sometimes want to fit a model where they stratify on one covariate and
plot the two baseline hazards. You can do this like:
sfit<-coxph(Surv(futime, fustat) ~ age+strata(rx), data = ovarian)
plot(survfit(sfit),fun="cloglog")
One motivation given for doing this is examining the proportional hazards
assumption, but this is not a very good way of doing it. The eye is not very
good at judging whether there is a constant vertical separation between curves,
even before you take into account that the uncertainty varies dramatically
along the curve. I would use cox.zph() and plot.cox.zph(), which give valid
formal tests and reasonable estimates of how the log hazard ratio varies with
time. Still, if you want to do log-log plots, the survival package is up to
the task.
-thomas
Thomas Lumley Assoc. Professor, Biostatistics
tlum...@u.washington.edu University of Washington, Seattle
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.