Dynamic predictions for competing risks data can now be computed. An example is given in the Competing Risks vignette.
jm() can now fit joint models with a recurrent event process with or without a terminating event. The model accommodates discontinuous risk intervals, and the time can be defined in terms of the gap or calendar timescale. An example is given in the Recurrent Events vignette.
Added the function
tvBrier() for calculating time-varying Brier score for fitted joint models. Currently, only right-censored data are supported.
Added the functions
calibration_metrics() for calculating time-varying calibration plot and calibration metrics for fitted joint models. Currently, only right-censored data are supported.
Added new section in the vignette for Dynamic Prediction (available on the website of the package) to showcase the use of the functions mentioned above.
predict() method for
jm objects and a corresponding
plot() for objects of class
predict_jm for calculating and displaying predictions from joint models. Currently, only standard survival models are covered. Future versions will include predictions from competing risks and multi-state models.
Added the functions
tvAUC() for calculating time-varying Receiver Operating Characteristic (ROC) curves and the areas under the ROC curves for fitted joint models. Currently, only right-censored data are supported.
Added a vignette (available on the website of the package) to explain how (dynamic) predictions are calculated in the package.
Added two vignettes (available on the website of the package) to showcase joint models with competing risks and joint models with non-Gaussian longitudinal outcomes.
Simplified syntax and additional options for specifying transformation functions of functional forms.
slope() function has gained two new arguments,
direction. This allows calculating the difference of the longitudinal profile over a user-specified interval.
jm_fit()for distributing the seed in the workers.
floor()in the C++ code.