shr {SmoothHazard} | R Documentation |
Fit a survival model
Description
Fit a survival model using either a semi-parametric approach (penalized likelihood with an approximation of the hazard function by linear combination of M-splines) or a parametric approach (specifying a Weibull distribution on the hazard function). Left-truncated, right-censored, and interval-censored data are allowed.
Usage
shr(
formula,
data,
eps = c(5, 5, 3),
n.knots = 7,
knots = "equidistant",
CV = FALSE,
kappa = 10000,
conf.int = 0.95,
maxiter = 200,
method = "Weib",
print.iter = FALSE,
na.action = na.omit
)
Arguments
formula |
a formula object with the response on the left hand side
and the terms on the right hand side. The
response must be a survival object or Hist object as returned by
the |
data |
a data frame in which to interpret the variables named
in the |
eps |
a vector of length 3 for the convergence criteria
(criterion for parameters, criterion for likelihood, criterion for
second derivatives). The default is |
n.knots |
Argument only active for the penalized likelihood approach |
knots |
Argument only active for the penalized likelihood approach
The algorithm reuqires at least 5 knots and allows no more than 20 knots. |
CV |
binary variable equals to 1 when search (by approximated cross validation) of the smoothing parameter kappa and 0 otherwise. Argument for the penalized likelihood approach. The default is 0. |
kappa |
Argument only active for the penalized likelihood approach |
conf.int |
Level of confidence pointwise confidence intervals of the survival and hazard functions, i.e.,
a value between 0 and 1, the default is |
maxiter |
maximum number of iterations. The default is 200. |
method |
type of estimation method: "Splines" for a penalized
likelihood approach with approximation of the hazard function by
M-splines, "Weib" for a parametric approach with a Weibull
distribution on the hazard function. Default is |
print.iter |
boolean parameter. Equals to |
na.action |
how NAs are treated. The default is first, any na.action attribute of data, second a na.action setting of options, and third 'na.fail' if that is unset. The 'factory-fresh' default is na.omit. Another possible value is NULL. |
Details
The estimated parameters are obtained using the robust Marquardt algorithm (Marquardt, 1963) which is a combination between a Newton-Raphson algorithm and a steepest descent algorithm.
Value
- call
- coef
regression parameters.
- loglik
vector containing the log-likelihood without and with covariate.
- modelPar
Weibull parameters.
- N
number of subjects.
- NC
number of covariates.
- nevents
number of events.
- modelResponse
model response:
Hist
orSurv
object.- converged
integer equal to 1 when the model converged, 2, 3 or 4 otherwise.
- time
times for which survival and hazard functions have been evaluated for plotting.
- hazard
matched values of the hazard function.
- lowerHazard
lower confidence limits for hazard function.
- upperHazard
upper confidence limits for hazard function.
- surv
matched values of the survival function.
- lowerSurv
lower confidence limits for survival function.
- upperSurv
upper confidence limits for survival function.
- RR
vector of relative risks.
- V
variance-covariance matrix.
- se
standard errors.
- knots
knots of the M-splines estimate of the hazard function.
- nknots
number of knots.
- CV
a binary variable equals to 1 when search of the smoothing parameter kappa by approximated cross-validation, 1 otherwise. The default is 0.
- niter
number of iterations.
- cv
vector containing the convergence criteria.
- na.action
observations deleted if missing values.
Author(s)
R: Celia Touraine celia.touraine@icm.unicancer.fr Fortran: Pierre Joly Pierre.Joly@isped.u-bordeaux2.fr
References
D. Marquardt (1963). An algorithm for least-squares estimation of nonlinear parameters. SIAM Journal of Applied Mathematics, 431-441.
See Also
shr
, print.shr
,
summary.shr
, print.shr
,
Examples
# Weibull survival model
library(prodlim)
data(testdata)
fit.su <- shr(Hist(time=list(l,r),id)~cov,data=testdata)
fit.su
summary(fit.su)
shr.spline <- shr(Hist(time=list(l,r),id)~cov,data=testdata,method="splines",n.knots=6)
shr.spline
shr.spline.q <- shr(Hist(time=list(l,r),id)~cov,data=testdata,
method="splines",n.knots=6,knots="quantiles")
plot(shr.spline.q)
## manual placement of knots
shr.spline.man <- shr(Hist(time=list(l,r),id)~cov,data=testdata,method="splines",knots=seq(0,7,1))