[R] "Dotted lines at the end of the KM-curve"
Terry Therneau
therneau at mayo.edu
Wed Dec 17 22:41:50 CET 2008
> Referees demand that the line in the KM-curve should be changed to
> dotted at the point where standarerror is <= 10 %. I don't think it's
> a good habit but I urgently need to implement such a thing in R with
> survfit, survplot or another program. They also want numbers at risk
> below the curve
To get such behaviour you have to "build your own". Here is an example.
> fit <- survfit(Surv(time, status) ~1, data=lung)
> plot(range(fit$time), range(fit$surv), type='n', xlab="Days")
> sum(fit$time < 600)
[1] 162
> lines(fit$time[1:162], fit$surv[1:162], type='s')
> length(fit$time)
[1] 186
> lines(fit$time[162:186], fit$surv[162:186], type='s', col=2)
If you need confidence bands add more lines() for fit$upper and fit$lower.
If you have more than one curve to overlay, do the fits separately and add even
more lines commands.
Now to add number at risk every 200 days:
> temp <- summary(fit, times=c(0, 200, 400, 600, 800, 1000))
> text(c(0, 200, 400, 600, 800, 1000), .02, temp$n.risk)
> text(c(0, 200, 400, 600, 800, 1000), temp$surv-.05, temp$n.risk) # Alternate
I don't see a need to make a fancy function for this, as I expect you will
only do it once.
Just for my information: which journal came up with this `interesting' idea?
Terry Therneau
More information about the R-help
mailing list