Survival analysis, also called event history analysis in social science,
or reliability analysis in engineering, deals with time until occurrence
of an event of interest. However, this failure time may not be observed
within the relevant time period, producing socalled censored observations.
This task view aims at presenting the useful R packages for the analysis
of time to event data.
Please let the
maintainers
know if
something is inaccurate or missing.
Standard Survival Analysis
Estimation of the Survival Distribution

KaplanMeier:
The
survfit
function from the
survival
package
computes the KaplanMeier estimator for truncated and/or censored data.
rms
(replacement of the Design package)
proposes a modified version of the
survfit
function.
The
prodlim
package implements a fast algorithm and some features
not included in
survival.
Various confidence intervals and confidence bands for the KaplanMeier estimator
are implemented in the
km.ci
package.
plot.Surv
of package
eha
plots
the KaplanMeier estimator.
The
NADA
package includes a function to compute the KaplanMeier
estimator for leftcensored data.
svykm
in
survey
provides a weighted
KaplanMeier estimator.
nested.km
in
NestedCohort
estimates the
survival curve for each level of categorical variables with
missing data. The
kaplanmeier
function
in
spatstat
computes the KaplanMeier estimator from
histogram data. The
MAMSE
package permits to compute a
weighted KaplanMeier estimate. The
KM
function in
package
rhosp
plots the survival function using a
variant of the KaplanMeier estimator in a hospitalisation risk
context. The
survPresmooth
package computes
presmoothed estimates of the main quantities used for
rightcensored data, i.e., survival, hazard and density functions.
The
asbio
package permits to compute the KaplanMeier
estimator following Pollock et al. (1998). The
bpcp
package provides several functions for computing confidence
intervals of the survival distribution (e.g., beta product
confidence procedure). The
jackknifeKME
package
implements the modified jackknife estimator of the KaplanMeier
estimator. The
lbiassurv
package offers various
lengthbias corrections to survival curve
estimation. Nonparametric confidance bands for the KaplanMeier
estimator can be computed using the
kmconfband
package.
The
kmc
package implements the KaplanMeier estimator
with constraints.

Nonparametric maximum likelihood estimation (NPMLE):
The
Icens
package provides several ways to compute the NPMLE
of the survival distribution for various censoring and truncation
schemes.
MLEcens
can also be used to compute the MLE for intervalcensored data.
dblcens
permits to compute the NPMLE of the cumulative distribution
function for left and rightcensored data.
The
icfit
function in package
interval
computes the NPMLE
for intervalcensored data.
The
DTDA
implements several algorithms permitting to analyse possibly doubly
truncated survival data.

MLE:
The
fitdistrplus
package permits to fit an univariate
distribution by maximum likelihood. Data can be interval censored.
Hazard Estimation

The
muhaz
package permits
to estimate the hazard function through kernel methods for rightcensored data.

The
epi.insthaz
function from
epiR
computes
the instantaneous hazard from the KaplanMeier estimator.

polspline,
gss
and
logspline
allow
to estimate the hazard function using splines.

The
ICE
package aims at estimating the hazard function for interval
censored data.
Testing

The
survdiff
function in
survival
compares survival curves using the FlemingHarrington Grho family of test.
NADA
implements this class of tests for leftcensored
data.

clinfun
implements a permutation version of the
logrank test and a version of the logrank that adjusts for
covariates.

The
exactRankTests
implements the shiftalgorithm by Streitberg and Roehmel for
computing exact conditional pvalues and quantiles, possibly for censored data.

SurvTest
in the
coin
package implements
the logrank test reformulated as a linear rank test.

The
maxstat
package performs tests using maximally selected
rank statistics.

The
interval
package implements logrank and Wilcoxon type tests
for intervalcensored data.

survcomp
compares 2 hazard ratios.

The
TSHRC
implements a two stage procedure for comparing
hazard functions.

The
Survgini
package proposes to test the equality of
two survival distributions based on the Gini index.

The
FHtest
package offers several tests based on the
FlemingHarrington class for comparing surival curves with right
and intervalcensored data.

The
LogrankA
package provides a logrank test for which
aggregated data can be used as input.

The short term and long term hazard ratio model for two samples
survival data can be found in the
YPmodel
package.
Regression Modelling

Cox model:
The
coxph
function in
the
survival
package fits the Cox model.
cph
in the
rms
package and
the
eha
package propose some extensions to the
coxph
function. The package
coxphf
implements the Firth's penalised maximum likelihood bias reduction
method for the Cox model. An implementation of weighted
estimation in Cox regression can be found in
coxphw.
The
coxrobust
package proposes a robust implementation
of the Cox model.
timecox
in package
timereg
fits Cox models
with possibly timevarying effects. The
mfp
package
permits to fit Cox models with multiple fractional polynomial.
The
NestedCohort
fits Cox models for covariates with
missing data. A Cox model model can be fitted to data from
complex survey design using the
svycoxph
function
in
survey. The
intcox
package implements the
Cox model for intervalcensored data using the ICMalgorithm.
The
dynsurv
package fits timevarying coefficient
models for interval censored and right censored survival data
using a Bayesian Cox model, a spline based Cox model or a
transformation model. The
CPHshape
package computes
the Cox proportional hazards model with shape constrained hazard
functions. The
OrdFacReg
package implements the Cox
model using an active set algorithm for dummy variables of ordered
factors.
The
cumres
function in
gof
computes goodnessoffit methods for the Cox proportional hazards
model. The proportionality assumption can be checked using
the
cox.zph
function in
survival.
The
CPE
package calculates concordance probability
estimate for the Cox model, as does the
coxphCPE
function in
clinfun. The
coxphQuantile
in
the latter package draws a quantile curve of the survival
distribution as a function of covariates. The
multcomp
package computes simultaneous tests and confidence intervals for
the Cox model and other parametric survival models.
The
multtest
package on Bioconductor proposes a
resampling based multiple hypothesis testing that can be applied
to the Cox model. Testing coefficients of Cox regression models
using a Wald test with a sandwich estimator of variance can be
done using the
saws
package. The
rankhazard
package permits to plot visualisation of the relative importance
of covariates in a proportional hazards
model. The
smoothHR
package provides hazard ratio
curves that allows for nonlinear relationship between predictor
and survival.

Parametric Proportional Hazards Model:
survreg
(from
survival) fits a parametric
proportional hazards model. The
eha
and
mixPHM
packages implement a proportional hazards
model with a parametric baseline hazard. The
pphsm
in
rms
translates an AFT model to a proportional
hazards form. The
polspline
package includes
the
hare
function that fits a hazard regression
model, using splines to model the baseline hazard. Hazards can be,
but not necessarily, proportional. The
flexsurv
package
implements the model of Royston and Parmar (2002). The model uses
natural cubic splines for the baseline survival function, and
proportional hazards, proportional odds or probit functions for
regression. The
SurvRegCensCov
package fits a Weibull
regression model for rightcensored data in which one covariate
might be censored.

Accelerated Failure Time (AFT) Models:
The
survreg
function in package
survival
can fit an accelerated failure time model.
A modified version of
survreg
is implemented in the
rms
package (
psm
function). It permits to
use some of the
rms
functionalities.
The
eha
package also proposes an implementation of the
AFT model (function
aftreg). An AFT model with an
error distribution assumed to be a mixture of Gsplines is
implemented in the
smoothSurv
package.
The
NADA
package proposes the front end of
the
survreg
function for leftcensored data. A
leastsquare principled implementation of the AFT model can be
found in the
lss
package. The
simexaft
package implements the SimulationExtrapolation algorithm for the
AFT model, that can be used when covariates are subject to
measurement error. A robust version of the accelerated failure
time model can be found
in
RobustAFT. The
coarseDataTools
package
fits AFT models for interval censored data.

Additive Models:
Both
survival
and
timereg
fit the additive hazards model of Aalen in
functions
aareg
and
aalen,
respectively.
timereg
also proposes an implementation
of the CoxAalen model (that can also be used to perform the Lin, Wei and
Ying (1994) goodnessoffit for Cox regression models) and the
partly parametric additive risk model of McKeague and Sasieni.

BuckleyJames Models:
The
bj
function in
rms
and
BJnoint
in
emplik
compute the
BuckleyJames model, though the latter does it without
an intercept term.

Other models:
Functions like
survreg
can fit other types
of models depending on the chosen distribution,
e.g.
,
a tobit model.
The
AER
package provides the
tobit
function,
which is a wrapper of
survreg
to fit the tobit model.
An implementation of the tobit model for crosssectional data and panel data
can be found in the
censReg
package.
The
timereg
package provides implementation of
the proportional odds model and of the proportional excess hazards
model.
The
pseudo
package computes the pseudoobservation for
modelling the survival function based on the KaplanMeier estimator
and the restricted mean.
flexsurv
fits parametric timetoevent models, in which
any parametric distribution can be used to model the survival
probability, and where one of the parameters is a linear function
of covariates. The
Icens
function in
package
Epi
provides a multiplicative relative risk and
an additive excess risk model for intervalcensored data.
The
VGAM
package can fit vector generalised linear and
additive models for censored data. The
gamlss.cens
package implements the generalised additive model for location,
scale and shape that can be fitted to censored data.
The
locfit.censor
function in
locfit
produces local regression estimates. The
crq
function included in the
quantreg
package implements a
conditional quantile regression model for censored data.
The
JM
package fits shared parameter models for the
joint modelling of a longitudinal response and event times. The
temporal process regression model is implemented in
the
tpr
package. Aster models, which combine aspects
of generalized linear models and Cox models, are implemented in
the
aster
and
aster2
packages.
The
concreg
package implements conditional logistic
regression for survival data as an alternative to the Cox model
when hazards are nonproportional.
lava.tobit, an
extension of the
lava
package, fits latent variable models
for censored outcomes via a probit link
formulation. The
BGPhazard
package implements Markov
beta and gamma processes for modelling the hazard ratio for
discrete failure time data. The
surv2sampleComp
packages proposes some modelfree contrast comparison measures
such as difference/ratio of cumulative hazards, quantiles and
restricted mean.
Multistate Models

General Multistate Models:
The
coxph
function from package
survival
can be fitted for any
transition of a multistate model. It can also be used for
comparing two transition hazards, using correspondence between
multistate models and timedependent covariates. Besides, all the
regression methods presented above can be used for multistate
models as long as they allow for lefttruncation.
The
mvna
package provides convenient functions for
estimating and plotting the cumulative transition hazards in any
multistate model, possibly subject to rightcensoring and
lefttruncation.
changeLOS
permits to estimate and
plot the transition probabilities for any multistate model. It
also estimates the change of length of hospital stay. The
etm
package estimates and plots transition
probabilities for any multistate models. It can also estimate the
variance of the AalenJohansen estimator, and handles
lefttruncated data. It also implements the technique for
estimating the length of hospital stay included in
changeLOS
in the presence of lefttruncation. The
msSurv
package provides nonparametric estimation for
multistate models subject to rightcensoring (possibly
statedependent) and lefttruncation. The
mstate
package permits to estimate hazards and probabilities, possibly
depending on covariates, and to obtain prediction probabilities in
the context of competing risks and multistate models. The
msm
package contains functions for fitting general
continuoustime Markov and hidden Markov multistate models to
longitudinal data. Transition rates and output processes can be
modelled in terms of covariates. The
SemiMarkov
package
can be used to fit semiMarkov multistate models in continuous
time. The distribution of the waiting times can be chosen between
the exponential, the Weibull and exponentiated Weibull
distributions. Nonparametric estimates in illnessdeath models
and other three state models can be obtained with package
p3state.msm. The
TPmsm
package permits to
estimate transition probabilities of an illnessdeath model or
threestate progressive model. The
SmoothHazard
package
fits illnessdeath model with possibly intervalcensored data for
the transition time into the transient state. Weibull baseline
intensities or a semiparametric approach with Msplines
approximation of baseline intensities is used.
The
Epi
package implements
Lexis objects as a way to represent, manipulate and summarise data
from multistate models. The
TraMineR
package is
intended for analysing state or event sequences that describe life
courses. The
Biograph
package permits to describe and
analyse life histories following a multistate perspective on the
life course.
asbio
computes the
expected numbers of individuals in specified age classes or life
stages given survivorship probabilities from a transition matrix.

Competing risks:
The package
cmprsk
estimates the cumulative incidence functions, but they can be
compared in more than two samples. The package also implements
the Fine and Gray model for regressing the subdistribution hazard
of a competing risk.
crrSC
extends the
cmprsk
package to
stratified and clustered data. The
kmi
package
performs a KaplanMeier multiple imputation to recover missing
potential censoring information from competing risks events,
permitting to use standard rightcensored methods to analyse
cumulative incidence functions. The
crrstep
package
implements stepwise covariate selection for the Fine and Gray
model. Package
pseudo
computes pseudo observations for
modelling competing risks based on the cumulative incidence
functions.
timereg
does flexible regression modelling for
competing risks data based on the on the
inverseprobabilitycensoringweights and direct binomial
regression approach.
riskRegression
implements risk regression for competing
risks data, along with other extensions of existing packages
useful for survival analysis and competing risks data.
The
Cprob
package estimates the conditional probability
of a competing event, aka., the conditional cumulative
incidence. It also implements a proportionalodds model using
either the temporal process regression or the pseudovalue
approaches. Packages
survival
(via
survfit) and
prodlim
can also be used
to estimate the cumulative incidence function.
The
compeir
package estimates eventspecific incidence
rates, rate ratios, eventspecific incidence proportions and
cumulative incidence functions.
randomSurvivalForest
provides summary measures for
competing risk such as ensemble CIF. The
NPMLEcmprsk
package implements the semiparametric mixture model for competing
risks data. The
wtcrsk
package implements a proportional
subdistribution hazards model with adjustment for
covariatedependent censoring.

Recurrent event data:
coxph
from the
survival
package can be used to analyse recurrent event
data. The
cph
function of the
rms
package
fits the AndersonGill model for recurrent events, model that can
also be fitted with the
frailtypack
package. The latter
also permits to fit joint frailty models for joint modelling of
recurrent events and a terminal event. The
survrec
package proposes implementations of several models for recurrent
events data, such as the PeñaStrawdermanHollander,
WangChang estimators, and MLE estimation under a Gamma Frailty
model. The
condGEE
package
implements the conditional GEE for recurrent event gap times.
The
TestSurvRec
package
implements weighted logrank type tests for recurrent events.
Relative Survival

The
relsurv
package proposes several functions to deal
with relative survival data. For example,
rs.surv
computes a relative
survival curve.
rs.add
fits an additive model and
rsmul
fits the Cox model of Andersen et al. for relative survival, while
rstrans
fits a Cox model in transformed time.

The
timereg
package permits to fit relative survival models like
the proportional excess and additive excess models.

The
JPSurv
package implements methods for
populationbased survival analysis, like the proportional hazard
relative survival model and the join point relative survival model.

The
survexp.fr
package computes relative survival,
absolute excess risk and standardized mortality ratio based on
French death rates.

The
MRsurv
package permits to fit multiplicative
regression models for relative survival.

The
ROCt
package implements timedependent ROC curves
and extensions to relative survival.
Random Effect Models

Frailties:
Frailty terms can be added
in
coxph
and
survreg
functions in
package
survival. A mixedeffects Cox model is
implemented in the
coxme
package.
The
two.stage
function in the
timereg
package fits the ClaytonOakesGlidden model.
The
parfm
package fits fully parametric frailty models
via maximisation of the marginal likelihood.
The
frailtypack
package fits proportional hazards
models with a shared Gamma frailty to rightcensored and/or
lefttruncated data using a penalised likelihood on the hazard
function. The package also fits additive and nested frailty models
that can be used for, e.g., metaanalysis and for hierarchically
clustered data (with 2 levels of clustering), respectively. A
proportional hazards model with mixed effects can be fitted using
the
phmm
package. The
lmec
package fits a
linear mixedeffects model for leftcensored data. The Cox model
using hlikelihood estimation for the frailty terms can be fitted
using the
frailtyHL
package. The
tlmec
package implements a linear mixed effects model for censored data
with Studentt or normal distributions.

Joint modelling of timetoevent and longitudinal
data:
The
joineR
package allows the analysis
of repeated measurements and timetoevent data via joint random effects
models.
Multivariate Survival
Multivariate survival refers to the analysis of unit, e.g., the
survival of twins or a family. To analyse such data, we can estimate
the joint distribution of the survival times

Joint modelling:
Both
Icens
and
MLEcens
can estimate bivariate
survival data subject to interval censoring.

The
mets
package implements various statistical models
for multivariate event history data, e.g., multivariate cumulative
incidence models, bivariate random effects probit models,
ClaytonOakes model.
Bayesian Models

survBayes
fits through a Bayesian approach a proportional hazards
model for right and intervalcensored data.

The
bayesSurv
package proposes an implementation of a bivariate
AFT model.

The package
BMA
computes a Bayesian model averaging for
Cox proportional hazards models.

The
DPsurvint
function in
DPpackage
fits a Bayesian
semiparametric AFT model.
LDDPsurvival
in the same package
fits a Linear Dependent Dirichlet Process Mixture of survival models.

NMixMCMC
in
mixAK
performs an MCMC estimation
of normal mixtures for censored data.

A MCMC for Gaussian linear regression with left, right or intervalcensored
data can be fitted using the
MCMCtobit
in
MCMCpack.

The
BayHaz
package estimates the hazard function from censored
data in a Bayesian framework.

The
weibullregpost
function in
LearnBayes
computes
the log posterior density for a Weibull proportionalodds regression model.

The
MCMCglmm
fits generalised linear mixed models using MCMC
to right, left and interval censored data.

The
BaSTA
package aims at drawing inference on
agespecific mortality from capturerecapture/recovery data when
some or all records have missing information on times of birth
and death. Covariates can also be included in the model.

The
JMbayes
package performs joint modelling of
longitudinal and timetoevent data under a bayesian approach.

Bayesian parametric and semiparametric estimation for
semicompeting risks data is available via the
SemiCompRisks
package.

The
psbcGroup
package implements penalized
semiparametric Bayesian Cox models with elastic net, fused lasso and
group lasso priors.

The
spatsurv
package fits a Bayesian parametric
proportional hazards model for which events have been geolocated.
HighDimensional Data

Recursive partitioning:
rpart
and
mvpart
packages implement CARTlike trees that can be used with
censored outcomes.
The
party
package implements recursive partitioning for survival
data.
LogicReg
can perform logic regression.
kaps
implements Kadaptive partitioning and recursive
partitioning algorithms for censored survival data

Random forest:
Package
ipred
implements bagging for survival data.
The
randomSurvivalForest
package fits random forest
to survival data,
while a variant of the random forest is implemented in
party.
Another implementation is proposed in the
randomForestSRC
package.

Regularised and shrinkage methods:
The
glmpath
package implements a L1 regularised Cox
proportional hazards model. An L1 and L2 penalised Cox models are
available in
penalized. The
pamr
package
computes a nearest shrunken centroid for survival gene expression
data. A high dimensional Cox model using univariate shrinkage is
available in
uniCox. The
lpc
package
implements the lassoed principal components method.
The
ahaz
package implements the LASSO and elastic net
estimator for the additive risk model. The
fastcox
package implements the Lasso and elasticnet penalized Cox's
regression using the cockail algorithm. The
SGL
package permits to fit Cox models with a combination of lasso and
group lasso regularisation.
CoxRidge
fits Cox models
with penalized ridgetype (ridge, dynamic and weighted dynamic)
partial likelihood. The
AdapEnetClass
package implements
accelerated failure time models using regularised weighted least
squares (e.g., weighted elastic net, adaptive elastic net).

Boosting:
Gradient boosting for the Cox model is implemented in the
gbm
package.
The
mboost
package includes a generic gradient boosting algorithm
for the construction of prognostic and diagnostic models for rightcensored data.
globalboosttest
implements permutationbased testing procedure to test
the additional predictive value of highdimensional data. It is based on
mboost.
CoxBoost
provides routines for fitting the Cox proportional hazards model
and the Fine and Gray model by likelihood based boosting.

Other:
The
superpc
package implements
the supervised principal components for survival data.
The
AIM
package can construct index models for survival
outcomes, that is, construct scores based on a training dataset.
The
compound.Cox
package fits Cox proportional hazards
model using the compound covariate method.
plsRcox
provides partial least squares regression and various techniques
for fitting Cox models in high dimensionnal
settings. The
rsig
package implements feature selection
algorithms based on subsampling and averaging linear models
obtained from the Lasso algorithm for predicting survival risk.
Predictions and Prediction Performance

The
pec
package provides utilities to plot prediction error
curves for several survival models

peperr
implements prediction error techniques which can
be computed in a parallelised way. Useful for highdimensional
data.

The
timeROC
package permits to estimate timedependent
ROC curves and timedependent AUC with censored data, possibly
with competing risks.

survivalROC
computes timedependent ROC curves and timedependent AUC from
censored data using KaplanMeier or Akritas's nearest neighbour estimation method
(Cumulative sensitivity and dynamic specificity).

risksetROC
implements timedependent ROC curves,
AUC and integrated AUC of Heagerty and Zheng (Biometrics, 2005).

Various timedependent true/false positive rates and
Cumulative/Dynamic AUC are implemented in the
survAUC
package.

The
survcomp
package provides several functions to
assess and compare the performance of survival models.

Cstatistics for risk prediction models with censored survival
data can be computed via the
survC1
package.

The
survIDINRI
package implements the integrated
discrimination improvement index and the categoryless net
reclassification index for comparing competing risks prediction
models.
Power Analysis

The
CR
package proposes power calculation for weighted
LogRank tests in cure rate models.

The
NPHMC
permits to calculate sample size based on
proportional hazards mixture cure models.

The
powerSurvEpi
package provides power and sample size
calculation for survival analysis (with a focus towards
epidemiological studies).

Power analysis and sample size calculation for SNP association
studies with timetoevent outcomes can be done using
the
survSNP
package.
Simulation

The
genSurv
package permits to generate data wih one
binary timedependent covariate and data stemming from a
progressive illnessdeath model.

The
PermAlgo
package permits the user to simulate
complex survival data, in which event and censoring times could be
conditional on an userspecified list of (possibly timedependent)
covariates.

The
complex.surv.dat.sim
package permits to simulate
complex survival cohort data (e.g., multiple events, recurrent
events, ...).

The
prodlim
package proposes some functions for
simulating complex event history data.

The
gems
package also permits to simulate and analyse
multistate models. The package allows for a general specification
of the transition hazard functions, for nonMarkov models and
for dependencies on the history.

The
simMSM
package provides functions for simulating
complex multistate models data with possibly nonlinear baseline
hazards and nonlinear covariate effects.

The
simPH
package implements tools for simulating and
plotting quantities of interest estimated from proportional
hazards models.

The
survsim
package permits to simulate simple and
complex survival data such as recurrent event data and competing
risks.
Miscellaneous

Package
boot
proposes the
censboot
function that
implements several types of bootstrap techniques for rightcensored data.

The
currentSurvival
package estimates the current
cumulative incidence and the current leukaemia free survival function.

The
survJamda
package provides functions for performing metaanalyses
of gene expression data and to predict patients' survival and risk assessment.

ipdmeta
provides tools for individual patient data metaanalysis, mixedlevel metaanalysis with patient
level data and mulivariate survival estimates for aggregate studies.

The
KMsurv
package includes the data sets from Klein
and Moeschberger (1997). Some supplementary data sets and
functions can be found in the
OIsurv
package. The
package
SMIR
that accompanies Aitkin et al. (2009),
SMPracticals
that accompanies Davidson (2003)
and
DAAG
that accompanies Maindonald, J.H. and Braun,
W.J. (2003, 2007) also contain survival data sets.

The
SvyNom
package permits to construct, validate and
calibrate nomograms stemming from complex rightcensored survey
data.

The
logconcens
package compute the MLE of a density
(logconcave) possibly for interval censored data.

The
TBSSurvival
package fits parametric
Transformbothsides models used in reliability analysis

The
OutlierDC
package implements algorithms to detect outliers
based on quantile regression for censored data.

The
survMisc
package proposes miscellaneous functions
that extends the
survival
package, e.g., additional
logrank type tests, goodness of fit plots.

The
coarseDataTools
package implements an EM algorithm
to estimate the relative case fatality ratio between two groups.