dsurvreg {survival} | R Documentation |

Density, cumulative distribution function, quantile function and random
generation for the set of distributions
supported by the `survreg`

function.

```
dsurvreg(x, mean, scale=1, distribution='weibull', parms)
psurvreg(q, mean, scale=1, distribution='weibull', parms)
qsurvreg(p, mean, scale=1, distribution='weibull', parms)
rsurvreg(n, mean, scale=1, distribution='weibull', parms)
```

`x` |
vector of quantiles.
Missing values ( |

`q` |
vector of quantiles.
Missing values ( |

`p` |
vector of probabilities.
Missing values ( |

`n` |
number of random deviates to produce |

`mean` |
vector of location (linear predictor) parameters for the model.
This is replicated to be the same length as |

`scale` |
vector of (positive) scale factors.
This is replicated to be the same length as |

`distribution` |
character string giving the name of the distribution. This must be one
of the elements of |

`parms` |
optional parameters, if any, of the distribution. For the t-distribution this is the degrees of freedom. |

Elements of `q`

or
`p`

that are missing will cause the corresponding
elements of the result to be missing.

The `location`

and `scale`

values are as they would be for `survreg`

.
The label "mean" was an unfortunate choice (made in mimicry of qnorm);
a more correct label would be "linear predictor".
Since almost none of these distributions are symmetric the location
parameter is not actually a mean.

The `survreg`

routines use the parameterization found in chapter
2 of Kalbfleisch and Prentice.
Translation to the usual parameterization found in a textbook is not
always obvious.
For example, the Weibull distribution has cumulative distribution
function
`F(t) = 1 - e^{-(\lambda t)^p}`

1 - exp((-lambda t)^p).
The actual fit uses the fact that `\log(t)`

has an extreme
value distribution, with location and scale of
`\alpha, \sigma`

, which are the location and scale parameters
reported by the `survreg`

function.
The parameters are related by `\sigma= 1/p`

and
`\alpha = -\log(\lambda`

.
The `stats::dweibull`

routine is parameterized in terms of
shape and scale parameters which correspond to `p`

and
`1/\lambda`

in the K and P notation.
Combining these we see that shape = `1/\sigma`

and
scale = `\exp{alpha}`

.

density (`dsurvreg`

),
probability (`psurvreg`

),
quantile (`qsurvreg`

), or
for the requested distribution with mean and scale
parameters `mean`

and
`sd`

.

Kalbfleisch, J. D. and Prentice, R. L. (1970).
*The Statistical Analysis of Failure Time Data*
Wiley, New York.

Kalbfleisch, J. D. and Prentice, R. L., The statistical analysis of failure time data, Wiley, 2002.

```
# List of distributions available
names(survreg.distributions)
## Not run:
[1] "extreme" "logistic" "gaussian" "weibull" "exponential"
[6] "rayleigh" "loggaussian" "lognormal" "loglogistic" "t"
## End(Not run)
# Compare results
all.equal(dsurvreg(1:10, 2, 5, dist='lognormal'), dlnorm(1:10, 2, 5))
# Hazard function for a Weibull distribution
x <- seq(.1, 3, length=30)
haz <- dsurvreg(x, 2, 3)/ (1-psurvreg(x, 2, 3))
## Not run:
plot(x, haz, log='xy', ylab="Hazard") #line with slope (1/scale -1)
## End(Not run)
# Estimated CDF of a simple Weibull
fit <- survreg(Surv(time, status) ~ 1, data=lung)
pp <- 1:99/100
q1 <- qsurvreg(pp, coef(fit), fit$scale)
q2 <- qweibull(pp, shape= 1/fit$scale, scale= exp(coef(fit)))
all.equal(q1, q2)
## Not run:
plot(q1, pp, type='l', xlab="Months", ylab="CDF")
## End(Not run)
# per the help page for dweibull, the mean is scale * gamma(1 + 1/shape)
c(mean = exp(coef(fit))* gamma(1 + fit$scale))
```

[Package *survival* version 3.5-5 Index]