v0.2.0
New features
-
Add
residual()
andfitted()
functions formjoint
objects. -
Added a plot function --
plot.ranef.mjoint()
-- forranef.mjoint
objects. -
bootSE()
now uses control parameters from fitted model and allows for individual parameter overwrite. -
Added a check that any initial covariance matrix given is positive-definite.
-
Added a check that dimensions of any
inits
given match the calculated dimensions from the model formulae. -
Added a check that if multiple repeated longitudinal outcoems were given, that each subject contributes at least one measurement per outcome.
-
Changed the API so that
postRE
andapprox.se
arguments are now replaced by a singlepfs
argument, which stands for post fit statistics. IfTRUE
, then both the approximate SEs and the BLUPs (and SEs) are calculated and returned. This change is to facilitate other post fit statistics, e.g. residuals. -
sampleData()
now allows for sampling without replacement. -
plot()
andplotConvergence()
now have the option to discard burn-in phase iterations from the MCEM algorithm. -
plot()
andplotConvergence()
now plot the log-likelihood trace. -
vcov()
now calculates the variance-covariance matrix rather than insidemjoint()
and then extracting it. It also utilises the QR-decomposition inverse function and the Moore-Penrose matrix inverse, as in some cases the matrix was nearly singular. -
hessian()
(and thereforevcov()
) now calculate the contribution for the random effect variance terms rather than the random effect precision (1 divided by the variance) terms. The correct contribution to the score for off-diagonal terms is now also impleted. -
The left-hand side of the
formLongFixed
now handles transformations.
Bug patches
-
vcov()
now returns the variance-covariance matrix as intended. Previously it was only returning the profile empirical information matrix. -
Patched a major bug in
gammaUpdate()
where ties in failure times were not being properly handled. The code forgammaUpdate_approx()
always worked fine, as it was based only on the score vector. This bug manifested whenbootSE()
was called due to the resampling with replacement yielding datasets with many more ties than in the original dataset used to fit the model. To fix it, the information matrix required scaling at each failure time by the number of failures in the data. The formula for the information matrix in the Technical Details vignette has also been updated. -
Patched a minor bug with prevented univariate random-intercept models for being fitted.
-
Patched a minor bug in plotting convergence traces.
-
Patched a minor bug with bootstrapping univariate joint models without passing the MLEs as the initial values to the
mjoint()
call.
Housekeeping
-
Renamed
approxSE()
function tohessian()
. -
Renamed
control
argumentearlyPhase
toburnin
. -
Default settings for
control
parameters updated based on practical experience. -
Package now
Depends
onsurvival
andnlme
rather thanImports
to allowrequire()
statements to be removed from code. -
Prevented
roxygen
from exporting all functions. -
Fixed Imports following CRAN Checks of v0.1.1.
-
Minor documentation edits and corrections.
-
Minor code tidy-up with slight speed-ups and stabilisations where found.
-
LICENSE upgraded to GPL-3 to be compatible with
joineR
v1.1.0. -
Removed internal function
fast_nearPD()
from package code as was unused. -
Removed internal function
EexpArma()
from package code as was unused. -
Added unit tests.
-
Registered native C++ routines and disabled symbol search to satisfy CRAN CMD checks.