[R] Extracting the survival function estimate from a survreg object.

Sixten Borg sb at ihe.se
Tue Apr 6 11:35:23 CEST 2004


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#




More information about the R-help mailing list