This is an R package for fitting semiparametric dynamic frailty models with the EM algorithm. The hazard for individual j from cluster i is specified as: λi**j(t|Zi(t)) = Zi(t)exp(β⊤xi**j(t))λ0(t). The model used here is described in detail in Putter & van Houwelingen (2015). The distribution of Zi(t) is described by two parameters: θ, that is an inverse-variability parameter of Zi(t) for a fixed t, and λ, that describes the autocorrelation of the process, so that for t1 ≤ t2 cor(Zi(t1),Zi(t2)) = exp(λ(t2 − t1)).
The estimation process is that for fixed (θ, λ) the maximized profile likelihood is calculated, i.e. maximized with respect to (β, λ0). This profile likelihood is finally maximized itself.
The development version from GitHub
:
devtools::install_github("tbalan/dynfrail")
The following packages are needed to build dynfrail
:
install.packages(c("RcppArmadillo", "tibble", "magrittr", "dplyr", "tidyr"))
The functioning of the package is described in the documentation of the main fitting function, dynfrail()
.
- gamma, PVF, compount Poisson, inverse Gaussian distributions
- flexible adjustment of estimation parameters
- semiparametric Z(t) that changes values at every t or piecewise constant Z(t)
- clustered survival data & recurrent events (calendar time or gaptime) ar supported
dynfrail()
has a friendly syntax very similar to thefrailtyEM
package: next to aformula
anddata
argument, thedistribution
argument is used to specify the distribution parameters and thecontrol
parameter is used for controling the precision of the estimation.dynfrail_prep()
anddynfrail_fit()
are used internally bydynfrail()
but are made user-available. The first one prepares the input ofdynfrail()
to make it suitable for the actual EM algorithm. The second one performs one EM algorithm for fixed (θ, λ) to estimate the maximum (β, λ0).
- slow even for medium sized data sets. It is recommended to start with a small number of piecewise constant intervals and/or a subset of the data
- no direct standard errors for (θ, λ).