dsurvreg {survival} | R Documentation |
Density, cumulative probability, and quantiles 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)
x |
vector of quantiles.
Missing values ( |
q |
vector of quantiles.
Missing values ( |
p |
vector of probabilities.
Missing values ( |
mean |
vector of means.
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 mean
and scale
values are as they would be for survreg
.
In particular, if
the distribution is one that involves a transformation, then they are the
mean and scale of the transformed distribution.
For example, the Weibull distribution is fit using the
Extreme value distribution along with a log transformation.
Letting F(t) = 1 - exp(-(at)^p)
be the cumulative distribution of the
Weibull, the mean corresponds to -log(a) and the scale
to 1/p
(Kalbfleish and Prentice, section 2.2.2).
density (dsurvreg
),
probability (psurvreg
),
quantile (qsurvreg
), or
for the requested distribution with mean and scale
parameters mean
and
sd
.
Kalbfleish, J. D. and Prentice, R. L. (1970). The Statistical Analysis of Failure Time Data Wiley, New York.
# 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)