Changes in Version 3.8.0 October 2025
o New argument init.hazard.weib added to frailtyPenal and additivePenal models to initialize Weibull baseline hazard parameters.
o Modifications in the documentation of frailtyPenal and additivePenal, the equations that defines the models are written more clearly.
o New functions (frailtyIllnessDeath, plot.frailtyIllnessDeath, summary.frailtyIllnessDeath, print.frailtyIllnessDeath) to estimate, plot the output, summarize and print a Weibull Illness Death model with/without shared Frailty between transitions, with/without right censoring and left truncation.
o New functions (frailtyCmprsk, plot.frailtyCmprsk, summary.frailtyCmprsk, print.frailtyCmprsk) to estimate, plot the output, summarize and print a Weibull competing risks 
  model with/without shared Frailty between transitions, with/without right censoring and left truncation.
o Added the possibility to use 50 nodes for Gaussian-Hermite and Gaussian-Laguerre quadrature in frailtyPenal.
o Fixed an issue in the function summary.jointPenal: the index used to extract standard deviations from the variance–covariance matrix (for display in the summary) has been corrected.
o The dataset readmission was corrected: subjects 60, 109, and 280 contained inconsistencies where individuals were recorded as both readmitted and deceased at the same time. These anomalies were fixed by setting their death status to 0 for the corresponding observations.
o The specification of HTML figure dimensions has been updated: dimensions are now defined in pixels instead of percentages.
o When fitting a (general) joint frailty model with frailtyPenal(), alpha_p.value, theta_p.value and beta_p.value are now computed using the robust variance.
o S3 method print.jointPenal has been updated to use the robust variance se(HIH), for both printing and p-values computing.
o S3 method summary.jointPenal has been updated to use the robust variance se(HIH) for the confidence intervals computing. Also, an automatic interpretation of 
  the frailty variance (and association parameter) is now provided in the summary output.



Changes in Version 3.7.1 September 2025
o The longiPenal function has now init.long and init.surv arguments to specify initial values for the longitudinal and survival submodels.

Changes in Version 3.7.0 March 2025
o New functions to compute power and sample size for four types of frailty-model-based designs:
  - `SFM.power()` and `SFM.ssize()` for shared frailty models.
  - `NFM.power()` and `NFM.ssize()` for nested frailty models,
  - `JFM.power()` and `JFM.ssize()` for joint frailty models,
  - `GJFM.power()` and `GJFM.ssize()` for general joint frailty models,
o New S3 method print.frailtyDesign for the previous functions.
o New S3 method summary.frailtyDesign for the previous functions.

Changes in Version 3.6.5 December 2024
o Change in the name of some arguments in the functions jointSurroPenal, plot.jointSurroMed and summary.jointSurroMed to be more consistent with the literature.


Changes in Version 3.6.4 November 2024
o Bug fixes in the function plot.longiPenal

Changes in Version 3.6.3 October 2024
o Correction of an issue in likelihood for joint model with longitidunal outcome where penalization term was not applied

Changes in Version 3.6.2 July 2024
o Correction of warnings during compilation stage of the package.

Changes in Version 3.6.1 June 2024
o Corrections for the compilation of the package, regarding OMP specification in joint_longi.f90 and pointer variable declaration in fortran_random.c and frailtypack.h
o Corrections of compilation warnings
o Some examples with a long runtime have been placed within the \dontrun function.

Changes in Version 3.6.0 March 2024
o New function (jointRecCompet) to fit a frailty model with one recurrent event and two terminal events.
o New mediation analysis approach (using proportion of treatment effect) implemented in the longiPenal function.
o Modifications for the functions print.longiPenal, plot.longiPenal and summary.longiPenal to accommodate this new approach.

Changes in Version 3.5.1 November 2023
o Minor syntax updates in man files.
o Minor bugs in demo scripts fixed: problems with capital letters.
o Replacement of fortran random numbers and random seeds by random number and random seed functions generators in C.
o Update of the CITATIONS file, replacing citentry by bibentry.
o Modifications in Integrale_mult_scl.f90, Integrant_scl.f90, joint_longi.f90 to avoid OMP reduction issue with flang-new when submitting on CRAN.
o Replacement of kind(4) or kind(8) by kind(1.0) for integers and kind(1.0d0) for double precision.
o Add \value in num.id.Rd and SurvIC.Rd to explain function results.
o Update of DESCRIPTION file, replacing Author by Authors@R. Also add copyrights authors with 'cph' role.
o Add a commentary on frailtypenal.rd for demo file.
o Change of every 'dontrun' of folder in 'donttest'.

Changes in Version 3.5.0 december 2021
o New model based on a mediation analysis approach added in the jointSurroPenal() function.
  Added two functions (plot.jointSurroMed and summary.jointSurroMed) associated with this model.

Changes in Version 3.4.0 may 2021
o New generalized shared and joint frailty models for recurrent and terminal events.
  (Proportional and additive hazard, proportional odds and probit models)
o In the jointSurroPenal() function, removing the example based on the adjuvant chemotherapy and resectable gastric cancer meta-analysesovarian, due to the high computing time it needs.

Changes in Version 3.3.2 october 2020
o Fixed an important error in the new marginal two-part joint model.
o Fixed an issue with the Cholesky matrix for the Monte-Carlo integration.
o Fixed a rank mismatch for the random variable 'Xea'.
o Default value for the seed of the Monte-Carlo integration is now 1.
o Bugg fixed in the function loocv.summary(). This corrects the wrong results displays in the loocv.summary output of the jointSurroPenalloocv object from the function loocv()

Changes in Version 3.3.0 June 2020
o New model added:  marginal two-part joint model (part of longiPenal function) for a longitudinal semicontinuous marker and a terminal event.
o Lognormal distribution is now available for the continuous part of the conditional two-part joint model (semicontinuous biomarker) and the standard one-part joint model (continuous biomarker).
o Add the possibility to fix the intercept in the binary part of the two-part joint models.

o Bug fixed in the computation of ste. Actually, by solving the equation representing the upper limit of the prediction interval of the treatment effects on T based on the observed treatment effects on S equals to 0 [u(beta_So = 0)], it is possible to find 2 solutions and then two potential values for STE. Depending on the shape of the function, different interpretations of possible values can be considered. We update the R functions ste(), plotTreatPredJointSurro() and the S3method summary.jointSurroPenal() in order to take into account this remark.

o We have limited the display of the S3method summary.jointSurroPenal() to the  estimate of the treatment effects and the surrogacy evaluation crieria. We defined the S3method print.jointSurroPenal() to allow a complete display of the model outputs. The outputs included smoothing parameters and the number of spline nodes used to reach convergence.

o Update of the R function loocv() in order to return the list of the G models obtained after deleting for the i-th trial during the loocv process. In addition we return the dataframe of the estimates of the G models. Each raw include the results without the subjets of the given trial.

o Update of the arguments of the S3methods plot.jointSurroPenalloocv() and predict.jointSurroPenal().

o Bug fixed in the S3method summary.jointSurroPenal(). It is no more possible to change the integration method during the call of the function.

o Bug fixed in the value of kappa return in the object of class "jointSurroPenal". The current value is that used for the convergence of the model if applicable.

Changes in Version 3.2.0 March 2020
o Update of the S3method predict.jointSurroPena(). We have included a plot of the predicted treatment effects on the true endpoint (with the prediction intervals) given the observed treatment effects on the surrogate endpoint and an object from the joint surrogate model. We have included the function plot.predict.jointSurroPenal()
o Update of the S3method predict.jointSurroPenal(). Allows the possibility of prediction based on the observed treatment effect on the surrogate endpoint. This means, no need for individual patient data in the new trial. In addition, bug fixed on the outputs of this function when the new dataset is provided.
o We rewrote the column name patienID in the argument data for jointSurroPenal() function as patientID
o By default, in the data generation, the progression times are consored by the death time. This update allow to consider as surrogate endpoint the progression free survival (PFS) or Desease free survivall (DFS), or time-to- progression (TTP). This update is motivated by the surrogacy framework.
o Update of the threshold for the classification of R2_trial. the previous classification was for the coefficient of correlation (R)
o Added the possibility when summarizing the results of the simulation studies, to display the bias and the MSE for kendall Tau and R2
o Inclusion of the nb.reject.dataset argument in the jointSurroPenalSimul() R function to allow simulations to be performed by considering multiple data packets.
o Add of the argument printResult in the S3 method summary.jointSurroPenal.simul() to manage the display of the results after the summary. This function currently returns a dataframe of the simulations results
o Bug fixed in the jointSurroPenalSimul() R function for the parameters of the jointSurrSimul() function, when one generate data to estimate kappas by cross validation. Some parameters were taken let fixed by default. Argument "cor" is set to "sqrt(R2)"
o New model added: Joint frailty-copula models for the validation of surrogate endpoints in multiple randomized clinical trials with failure-time endpoints (vignettes file updated)
o Rename of the argument "rsqrt" in the jointSurrSimul() function by "cor".

Changes in Version 3.1.0 december 2019
o New model added:  two-part joint model (part of longiPenal function) for a longitudinal semicontinuous marker and a terminal event.
o Add Monte-Carlo integration method for joint models longitudinal/terminal event (longiPenal function)
o Bug fixed in the S3method plot() associated with the object of class additivePenal. In the previous version it was not possible to call the S3method plot() on this object.


Changes in Version 3.0.3.3 august 2019
o Add of the shiny application for frailtypack : the runShiny() function will run the application in a local mode.
o Add of parameter 'nb.gh' in frailtyPenal, in order to chose the number of nodes for the Gaussian-Hermite quadrature
o Correction of a small error in trivPenalNL documentation
o Correction of several warnings appearing during check

Changes in Version 3.0.3.2 may 2019
o Correction of warnings during installation of package
o Bug fixed for printing results of longiPenal, trivPenal and trivPenalNL
o Add of the median survival
o Bug fixed when characters are used in data for prediction
o Rename gammaJ as logGammaJ
o Error message for a bad use of jointGeneral

Changes in Version 3.0.3.1 march 2019
o Bug fixed in subroutines Fortran for the computation of integrals using the Pseudo-adaptive Gaussian Hermite quadrature. Due to incorrect assignment of memory (variable V_i and V in the subroutines funcpajsplines_surrogate, funcpafrailtyPred_Essai and MC_Gauss_MultInd_Essai), the program encountered in the previous version a fatal error with Windows OS. However, this problem did not impact model estimates based on other OS.

o Add of the R function loocv() for the leave-one-out crossvalidation to evaluate the joint surrogate model

o Add of the function to use to predict the treatment effect on the true endpoint basing on the treatment effect observed on te surrogate endpoint

o Add of the function to use to compute the surrogate threshold effect (STE)

o Update of the values of the function jointSurroPenal() and jointSurroPenalSimul(). Several other values are returned to these function.

o Update of the subroutine Fortran jointsurrogate(). Computation of the variance-covariance matrix for the estimates of the variance-covariance parameters of the random effect treatment-by-trial interaction using the delta-method. we also return in this function the dataframes for the estimates and their variance-covariance matrices.

o Update of the output of the R function summary.jointSurroPenal(). Categorization of the Correlation strength at trial level. We also compute and display the STE in this function.

o Parameters "indice.zeta and "indice.alpha" in the R functions jointSurroPenal and jointSurrPenalSimul are renamed by "indicator.zeta" and "indicator.alpha"

Changes in Version 3.0.2 December 2018
o Bug fixed in the file aaOptim_New_scl.o, aaOptim_New_scl2.o and aaOptim_SCL_0.o: module type definition remove, already defined in the file aaOptim.o

o Bug fixed in function jointSurroPenal: an error occurs in case of convergence issue. it is corrected  now

o Argument color remove in the function plot.jointSurroPenal

Changes in Version 3.0.1 November 2018

o New model added: Joint frailty models for the validation of surrogate endpoints in multiple randomized clinical trials with failure-time endpoints (vignettes file updated)

o Parsing all the Rd files under the man directory and updating the corresponding R source code by inserting roxygen documentation into the R scripts

o Bug fixed in summary function for jointNestedPenal when alpha or ksi is not included in the model and JointPenal when alpha is not included in the model

o Bug fixed for predictions from joint nested frailty models with data with different values of covariates for a given individuals

o Bug fixed for confidence intervals of predictions from joint nested frailty models without one or two power parameters (alpha, ksi) included in the model

o Bug fixed for displaying for baseline hazard function (lam) for Piecewise hazard functions in frailtyPenal

o Bug fixed for trivPenalNL: missing parenthesis was leading to an error when adjusting on covariates in KG part

o Modification in longiPenal: Switch optimizer from nlminb to optim (BFGS) to get the initial values for pseudo-adaptive quadrature (better convergence rates)

o Modification of the writing of the p-value

o Bug fixed in the Fortran subroutines percentile, percentile2 and percentile3: change in the subroutine to account for vector overflows + update of the percentile formula

Changes in Version 2.13.2 September 2018

 o Bug fixed for predictions for prediction data with only one observation per individual


Changes in Version 2.13.1 September 2018

o  NEW: Weighted penalized maximum likelihood approach for joint frailty models for data from nested case-control studies

o  Bug corrected in predictions with joint nested frailty models that do not include power parameters


Changes in Version 2.12.7 July 2018

o  Now the p-values of the estimates can be directly extracted from the models

o  Small bugs corrected in epoce, trivPenal, trivPenalNL, prediction and print.JointNestedPenal

o Shared frailty model (Weibull baseline hazard function, calendar time-scale and log-normal frailty) now works


Changes in Version 2.12.6 October 2017

o For joint nested and nested models martingale residuals are calculated at the lower level of clustering (individual level)


Changes in Version 2.12.3 July 2017

o Bug fixed in predictions for trivariate joint models.


Changes in Version 2.12.2 June 2017

o Bug fixed in predictions for joint nested frailty models.


Changes in Version 2.12.0 June 2017

 o New model added: trivariate joint model for a longitudinal biomarker, recurrent events and a terminal event using a mechanistic approach for the biomarker (with analytical solution)

 o Extension for functions longiPenal and trivPenal: up to three random effects for the biomarker can be applied

 o Bug fixed : Estimation error in joint, joint general, joint nested, trivPenal and longiPenal models when data are unordered.

 o Bug fixed for predictions using joint nested models - application of Gamma function


Changes in Version 2.11.1 March 2017

 o Warnings about native subroutine registry fixed


Changes in Version 2.11.0 March 2017

 o NEW : Marginal prediction method in the Joint Nested Frailty model, only for terminal event.


Changes in Version 2.10.6 March 2017

 o Bug fixed in the conditional prediction for shared frailty model.

 o New warning for the prediction in joint general model.


Changes in Version 2.10.5 February 2017

 o Bug fixed : use of a subcluster/cluster covariate named with upper case in joint and joint nested models

 o Bug fixed : Joint nested model estimation

 o Bug fixed : Conditional prediction for recurrent events from a shared model.

 o Bug fixed : examples of the documentation (plot of epoce, additive model, trivariate and joint nested model)


Changes in Version 2.10.4 January 2017

 o Changes in the joint nested frailty model : add calculation of the bayesian frailties estimates (for families and for individuals)

 o Problem fixed : survival() function in frailtypack can now be computed with a gamma shared frailty model with a piecewise baseline hazard function

 o Changes in the prediction() function : 'group' argument removed and 'conditional' boolean argument added

 o Changes in the conditional prediction method for shared modelling : possibility to compute prediction for more than one group

 o Display of prediction's results : for each indivual you can see the true ID

 o Problem fixed : prediction() function is now able to compute with disorderly individuals

 o Changes in the prediction method : you can now use the prediction methods with time-dependant covariates

 o NEW: Marginal prediction method in the shared modelling, for a recurrent event.

 o Correction applied on the mathematical expression of prediction method from shared model


Changes in Version 2.10.3 October 2016

 o "na.pass" global function defined in the NAMESPACE file

 o Update of the vignettes 'Package_summary.Rmd' in the 'inst/doc' directory


Changes in Version 2.10.2 October 2016

 o Vignettes modified (legend in the title)

 o 'event' legend deleted in the plot of a shared model

 o Compiling warnings fixed

 o Plot bug fixed in the plot of a shared model


Changes in Version 2.10.1 July 2016

 o New prediction option for a new recurrent event.

 o Bug fixed for the gfortran compilation


Changes in Version 2.9.4 July 2016

 o Bug fixed for the vignettes builder


Changes in Version 2.9.3 July 2016

 o New model added : Joint Nested frailty model for recurrent (with two clustering levels) and terminal events, accounts for two frailty terms.

 o For all the plot methods of frailtypack : addition of 'Xlab' and 'Ylab' (labels for the X-axis and Y-axis)

 o Warning added if left truncation with joint frailty model

 o Warning added for the use of interval-censored data in joint frailty model, the option is not available for the model

 o New option "initialize = TRUE" for fitting a joint frailty model to provide new initial values, before fitting the joint nested model.

 o Bug fixed in models prediction with formulas defined separately

 o Bug fixed for trivPenal and longiPenal for definition of individuals identificators

 o Bug fixed for global Wald test for qualitative covariates in the nested and the joint frailty model


Changes in version 2.8.3 January 2016

 o Bug fixed for predictions for frailty models

 o Bug fixed for calculation of residuals for longitudinal biomarker in bivariate and trivariate models


Changes in version 2.8.2 December 2015

 o Description of the different models and options in Frailtypack using a vignette ("Package_summary")


Changes in version 2.8 November 2015

 o New models added: joint model for longitudinal data and a terminal event (longiPenal function) and trivariate joint model for longitudinal data, recurrent events and a terminal event (trivPenal function)

 o For these models summary, print and plot methods are available as well as functions epoce, Diffepoce and predictions were adapted

 o Functions form altered: all the character options start with a capital letter, eg. was: plot(x, type.plot = "hazard") is now plot(x, type.plot = "Hazard")

 o Joint frailty models for clustered data now are modelled in a framework of semi-competing risks (the parameter alpha is not recommended in these semi-competing models)

 o Interactions are now available for all the models (using "*" or ":")


Changes in version 2.7.6 August 2015

 o New model added: Joint General frailty model for recurrent and terminal events with 2 covariates


Changes in Version 2.7.5 March  2015

 o Bug fixed for Martingale residuals (in shared and joint models with log normal frailties)


Changes in Version 2.7.3 February 2015

 o Prediction and Monte Carlo confidence bands added for shared and joint gaussian frailty models.

 o Bug fixed for the prediction function with shared or Cox models (reading of survival times)

 o Bug fixed for plotting the baseline hazard and survival functions in Weibull shared and joint models

o  New functions to compute estimators of Expected Prognostic Observed Cross-Entropy (EPOCE) evaluating prediction accuracy in joint gaussian frailty models.


Changes in Version 2.7.1 October 2014

 o Bug fixed for the multivariate Wald test for covariates with more than 3 categories.

 o Bug fixed for EPOCE, definition of kappa.


Changes in Version 2.7     August 2014

  o In 'frailPenal' and 'additivePenal' functions, no more 'kappa1', 'kappa2', 'nb.int1' and 'nb.int2'. Replaced by two vectors 'kappa' and 'nb.int'.

  o More levels of stratification (up to 6) for shared frailty model.

  o Now possible stratification in a joint frailty model for the recurrent event part (up to 6 levels).

  o New construction of the dataframe when using 'prediction' function on a joint frailty model. Need now the event indicator variable.


Changes in Version 2.6.1     July 2014

  o Different way to do Monte-Carlo method to compute confidence intervals in 'prediction' function giving less variability.

  o Back to knots placed using equidistant by default for estimating baseline hazard function with splines. You can now use the option 'hazard="Splines-per"' in frailtyPenal in order to have knots placed using percentiles.

  o Back to value 10-3 by default for the three convergence criteria.

  o No longer need to use as.factor() in command to print Wald tests on covariates.

  o Print p-value of one-sided Wald test for frailty parameter and two-sided Wald test for alpha parameter in joint model.

  o New functions to compute estimators of Expected Prognostic Observed Cross-Entropy (EPOCE) evaluating prediction accuracy in joint model.


Changes in Version 2.6       March 2014

  o NEW: Fit now a multivariate gaussian frailty model (two types of recurrent events and a terminal event).

  o Major evolution of frailtyPenal function. 'Frailty' and 'joint' arguments removed.

  o Now estimation of baseline hazard functions with splines, knots are placed using percentile (previously using equidistant intervals).

  o Significant change of prediction function. You can compute predictions in two different ways: with a variable prediction time or a variable window of prediction.

  o 'type' argument of prediction function removed. As long as there is a 'group' argument, for a shared model, computation of conditional predictions will be done.

  o 'B' argument added in 2.4.1 to initialize regression coefficients was renamed 'init.B'

  o Possibility to initialize the variance of the frailties with argument 'init.Theta' in shared and joint frailty models.

  o Possibility to initialize the coefficient with argument 'init.Alpha' in joint frailty model.

  o Moreover, with 'Alpha="none"', frailtyPenal can fit a joint model with a fixed alpha (=1).

  o New argument: 'print.times', added in every model to print iteration process.


Changes in Version 2.5.1       February 2014

  o Bug fixed about joint frailty model without any covariate.


Changes in Version 2.5         November 2013

  o New dynamic tool of prediction added for Cox proportionnal hazard, shared and joint frailty model.

  o Add IPCW estimation of concordance measures as Uno (Stat Med 2011). Significant changes in the printing of 'Cmeasures' function.

  o Bug fixed about parametrical survival functions plotting with left truncated data.

  o Bug fixed which allowed cross validation with interval-censored data.

  o Possibility to print and change the three convergence criterions in frailtyPenal and additivePenal.


Changes in Version 2.4.1         April 2013

  o Bug fixed about estimation of frailties in shared models using recurrentAG=TRUE.

  o Printing bug about standard deviation of the random effet variance in a model without covariate.

  o Possibility to initialize regression coefficients in shared and joint frailty models.


Changes in Version 2.4           April 2013

  o Fit now a model with time-varying effects for covariates (only for Cox, shared gamma and a joint gamma frailty model).


Changes in Version 2.3           February 2013

  o Fit now a Shared and a Joint Frailty model with a log-normal distribution for the random effects.

  o "Breast cosmesis" dataset added for interval-censoring illustration ("Diabetes" dataset removed).

  o Weibull hazard parameters bug fixed : shape and scale were reversed.

  o Linear predictors : output reorganized.

  o Plot options improved (now color is allowed).

  o Use of 'SurvIC' function modified. Now for the left-truncated and interval-censored data we use : SurvIC(left-trunc-time,lower-time,upper-time,event).

  o No need of the intcens argument to fit a model for interval-censored data anymore, 'SurvIC' function is enough.


Changes in Version 2.2-27        November 2012

  o Fit now a Joint Frailty model for clustered data.


Changes in Version 2.2-26        October 2012

  o Minor bug fixed about loglikelihood in Nested Frailty model.

  o The package accepts samples unsorted on clusters.


Changes in Version 2.2-25        September 2012

  o "Diabetes" dataset added for interval-censoring illustration.


Changes in Version 2.2-24        July 2012

  o Fit a Shared Gamma Frailty or a Cox proportional hazard model for interval-censored data.

  o No longer need to use cluster function for fitting a Cox proportional hazard model.

  o Minor bug fixed in Nested Frailty model.

  o Printing bug fixed in multivariate Wald test.


Changes in Version 2.2-22        March 2012

  o Fit a Shared Gamma Frailty model using a parametric estimation.

  o Fit Joint Frailty model for recurrent and terminal events using a parametric estimation.

  o Fit a Nested Frailty model using a parametric estimation.

  o Fit an Additive Frailty model using a parametric estimation.

  o Concordance measures in shared frailty and Cox models (Cmeasures).


Changes in Version 2.2-10

  o NEW VERSION OF FRAILTYPACK including Additive, Nested and Joint Frailty models

  o Paper submitted to Journal of Stat Software
