Sixten Borg
2004-Apr-06 09:35 UTC
[R] Extracting the survival function estimate from a survreg object.
Hello all,
I want to extract the survival function estimate from a model fitted by
survreg().
Using predict.survreg(..., type="quantile", p=seq(0,1,0.001)), gives
the quantiles, which
I managed to turn around into a survival function estimate (Prob{T > t} as
function of t).
Is there a more straightforward way of doing this? I have had difficulties using
pweibull() with
the coefficients reported by summary(<survreg object>).
I am enclosing an outline of my code for reference if anyone is interested.
Thanks in advance,
Sixten
---------------------------------------------------------------------
sure <- survreg(formula = Surv(time, dead) ~ age + group + sex, data = modb)
nd <- data.frame(
age=50,
group=factor("A", levels=c("A", "B",
"C")),
sex=factor("M", levels=c("F", "M")))
y <- seq(0, 1, 0.001)
#
# For a range of p-values, predict the quantiles.
#
sufu <- list(
y=1-y,
x=predict.survreg(sure, nd, type="quantile", p=y)
)
#
# Find the p value for each t, by locating the last quantile no larger than t.
# The pairs (t,p) forms a step function.
#
sufu2 <- list(
x=0:14,
y=unlist(lapply(0:14,function(x){rev(sufu$y[sufu$x<=x])[1]}))
)
# Looks ok?
plot(sufu, type="s", xlim=c(0,20))
points(sufu2, pch=20, col="blue")
#EOF#
