Multidimensional Penalized Splines for Survival and Net Survival Models

Fits hazard and excess hazard models with multidimensional penalized splines allowing for time-dependent effects, non-linear effects and interactions between several continuous covariates. In survival and net survival analysis, in addition to modelling the effect of time (via the baseline hazard), one has often to deal with several continuous covariates and model their functional forms, their time-dependent effects, and their interactions. Model specification becomes therefore a complex problem and penalized regression splines represent an appealing solution to that problem as splines offer the required flexibility while penalization limits overfitting issues. Current implementations of penalized survival models can be slow or unstable and sometimes lack some key features like taking into account expected mortality to provide net survival and excess hazard estimates. In contrast, survPen provides an automated, fast, and stable implementation (thanks to explicit calculation of the derivatives of the likelihood) and offers a unified framework for multidimensional penalized hazard and excess hazard models. survPen may be of interest to those who 1) analyse any kind of time-to-event data: mortality, disease relapse, machinery breakdown, unemployment, etc 2) wish to describe the associated hazard and to understand which predictors impact its dynamics. See Fauvernier et al. (2019a) for an overview of the package and Fauvernier et al. (2019b) for the method.


survPen v1.1.0


  • includes a vignette called Survival_analysis_with_survPen that shows detailed examples of the package functionalities
  • examples 5 and 6 from the help page were deleted as they were clumsy. More detailed examples are available in the vignette Survival_analysis_with_survPen
  • returns a convergence indicator (converged = TRUE or FALSE)
  • when using a factor by variable, same.rho=FALSE is used as default instead of same.rho=TRUE
  • function crs returns knots when intercept=FALSE

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


1.5.2 by Mathieu Fauvernier, 5 months ago

Report a bug at

Browse source code at

Authors: Mathieu Fauvernier [aut, cre] , Laurent Roche [aut] , Laurent Remontet [aut] , Zoe Uhry [ctb] , Nadine Bossard [ctb]

Documentation:   PDF Manual  

GPL-3 | file LICENSE license

Imports statmod, stats, Rcpp

Suggests knitr, rmarkdown, testthat

Linking to Rcpp, RcppEigen

Suggested by rstpm2.

See at CRAN