Learn R Programming

lnmixsurv

The lnmixsurv package provides an easy interface to the Bayesian lognormal mixture model proposed by Lobo, Fonseca and Alves, 2023.

An usual formula-type model is implemented in survival_ln_mixture, with the usual suvival::Surv() interface. The model tries to follow the conventions for R modeling packages, and uses the hardhat structure.

The underlying algorithm implementation is a Gibbs sampler which takes initial values from a small run of the EM-Algorithm, with initial values selection based on the log-likelihood. Besides the Bayesian approach, the Expectation-Maximization approach (which focus on maximizing the likelihood) for censored data is also available. The methods are implemented in C++ using RcppArmadillo for the linear algebra operations, RcppGSL for the random number generation and seed control and RcppParallel (since version 3.0.0) for parallelization.

Dependencies

The only dependency is on GSL, so, make sure you have GSL installed before proceeding Below, there are some basic guides on how to install these for each operational system other than Windows (Windows users are probably fine and ready to go).

Mac OS

Run brew install gsl at the console/terminal should be enough for installing GSL.

Linux

The installation of GSL on Linux is distro-specific. For the main distros out-there:

  • Arch: sudo pacman -S gsl
  • CentOS/RHEL: sudo yum install gsl-devel or sudo dnf install gsl-devel (make sure the EPEL – Extra Packages for Enterprise Linux – repository is enabled)
  • Debian/Ubuntu: sudo apt-get install libgsl-dev
  • Fedora: sudo dnf install gsl-devel
  • Gentoo: sudo emerge sci-libs/gsl
  • openSUSE: sudo zypper install gsl-devel

Installation

You can install the latest development version of lnmixsurv from GitHub:

# install.packages("devtools")
devtools::install_github("vivianalobo/lnmixsurv")

Alternatively, to install the latest development version of lnmixsurv, you can use the following code:

# install.packages("devtools")
devtools::install_github("vivianalobo/lnmixsurv", "devel")

parsnip and censored extension

An extension to the models defined by parsnip and censored is also provided, adding the survival_ln_mixture engine to the parsnip::survival_reg() model.

The following models, engines, and prediction type are available/extended through persistencia:

modelenginetimesurvivallinear_predrawquantilehazard
survival_regsurvival_ln_mixture
survival_regsurvival_ln_mixture_em

Copy Link

Version

Install

install.packages('lnmixsurv')

Monthly Downloads

94

Version

3.1.6

License

MIT + file LICENSE

Maintainer

Victor Hugo Soares Ney

Last Published

September 3rd, 2024

Functions in lnmixsurv (3.1.6)

sim_data

Simulated lognormal mixture data.
simulate_data

Function to simulate survival data from a mixture of normal distribution.
plot.survival_ln_mixture_em

Visualizes the path of the EM algorithm
join_empirical_hazard

Function used to join the empirical hazard to the data
nobs.survival_ln_mixture

Extract the number of observations from survival_ln_mixture fit.
predict.survival_ln_mixture_em

Predict from a lognormal_em Mixture Model fitted using EM algorithm.
reexports

Objects exported from other packages
survival_ln_mixture

Lognormal mixture model - Gibbs sampler
survival_ln_mixture_em

Lognormal mixture model - Expectation-Maximization Algorithm
augment.survival_ln_mixture_em

Augment data with information from a survival_ln_mixture_em object
augment.survival_ln_mixture

Augment data with information from a survival_ln_mixture object
plot_fit_on_data

Function used to quick visualize the fitted values (survival estimate) on the data used to fit the model (via EM algorithm or Gibbs).
predict.survival_ln_mixture

Predict from a Lognormal Mixture Model
tidy.survival_ln_mixture

Tidying method for a Lognormal Mixture model.
tidy.survival_ln_mixture_em

Tidying method for a Lognormal Mixture model (fitted via Expectation-Maximization algorithm).
lnmixsurv-package

lnmixsurv: Bayesian Mixture Log-Normal Survival Model