Is it possible to produce a log-minus-log plot using ggsurvfit::ggsurvfit()
?
Here's an example of what I want to produce:
library(ggsurvfit)
temp <- survfit2(Surv(time, status) ~ adhere, data = df_colon)
plot(temp, fun = \(x) log(-log(x)))
but instead of using plot()
I want to use ggsurvfit::ggsurvfit()
. I tried the following
temp$surv <- log(-log(temp$surv))
ggsurvfit(temp)
but it behaves weirdly in the beginning of the plot because the survival curve is 1 at time 0.
The issue is that
ggsurvfit()
assumes thaty=1
at time zero. This makes sense for a survival curve - you can't model the survival of people who are already dead - but not if you transform the y-axis.To resolve this, as
ggsurvit()
produces aggplot
object, you can just set the axis limits to only include values which are actually there, removing the row containing this assumption. I would change the y-axis label as well.