shr: Fit a survival model

View source: R/shr.R

shrR 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 of a \texttildelow operator, and the terms on the right. The response must be a survival object or Hist object as returned by the 'Surv' or 'Hist' function.

data

a data frame in which to interpret the variables named in the formula.

eps

a vector of length 3 for the convergence criteria (criterion for parameters, criterion for likelihood, criterion for second derivatives). The default is 'c(5,5,3)' and corresponds to criteria equals to 10^{-5}, 10^{-5} and 10^{-3}.

n.knots

Argument only active for the penalized likelihood approach method="splines". Number of knots for the splines to use to approximate the hazard function. The default is 7. If knots are given as a vector this argument is ignored. The algorithm needs least 5 knots and at most 20 knots.

knots

Argument only active for the penalized likelihood approach method="splines". There are three ways to control the placement of the knots between the smallest and the largest of all time points:

  • knots="equidistant"Knots are placed with same distance on the time scale.

  • knots="quantiles"Knots are placed such that the number of observations is roughly the same between knots.

  • knots=list()List of length 3. The list elements are the actual placements (timepoints) of the knots for the M-spline.

The algorithm needs 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 method="splines". A positive number (smoothing parameter) If CV=1 the value is used as a starting value for a cross validation search to optimize kappa.

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 0.95. The default is also used when conf.int=TRUE. To avoid computation of confidence intervals, set conf.int to FALSE or NULL.

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 "Weib".

print.iter

boolean parameter. Equals to TRUE to print the likelihood during the iteration process, FALSE otherwise. Default is FALSE. This option is not running on Windows.

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 or Surv 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@isped.u-bordeaux2.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)
## Not run: 
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))

## End(Not run)

tagteam/SmoothHazard documentation built on April 5, 2024, 6:32 a.m.