'***' denotes important announcements
'**' denotes big changes visible to the user
'*' denotes minor changes visible to the user
'.' denotes minor bug fixes
1.4
*** The 'reduce.fixed' and 'reduce.random' arguments have been deprecated; use
the 'include' argument instead
** Add new criterion 'devexp' (alias: 'deviance') based on the explained
deviance. Modify buildbam() so that it only accepts this criterion. bam()
and gam() with non-outer optimization use PQL, which was incorrectly
permitted by the previous version of the PQL guard
** S3 and S4 method passthrough support
** gamm support
** buildgam() has gained an experimental 'quickstart' argument that prefits
each gam model using bam() to obtain starting values. Specifically for the
'scat' family, the optimized theta values indicating the degrees of freedom
and the scale parameter will also be passed on to the gam() call, but only
if the mgcv version is at least 1.8-32
** Added new function 're2mgcv()' that makes it possible to use buildgam()
with lme4-style random effects (with correlations removed)
* Smooth terms are now no longer forced to be evaluated after parametric terms
* For general families that are fitted with REML only, buildgam() now makes
the appropriate modifications to the gam() call and include list
* buildcustom() has gained the ability to use buildmer's ML/REML
differentiation facilities; turn this on by passing REML=TRUE to the call to
buildcustom()
. Filter ... argument more precisely in the various buildmer() fitting paths
for non-mixed models (lm/glm/gls)
. Fix bugs in remove.terms() and in order() affecting certain models containing
smooths
. buildgam() is now properly able to fit intercept-only models
. Convergence for glmmTMB models is now checked correctly if there are/seem to
be (as with REML=TRUE) no fixed effects
. Work around glmmTMB issue with REML for poisson and binomial models
. build.formula() now also handles formulas where fixed and random effects are
not strictly in that order (which fixes 'include' for random effects)
. Implement workaround in buildgls() to work with rank-deficiency
. Wrap examples in requireNamespace()
. Explicitly fit (fixed/random)-intercept models as well, which was skipped in
earlier versions. Add dependency on nlme, as gls() is used when
transitioning from fixed to random effects in lme4 models.
. Fix diag() and add.terms() for one-sided formulas
1.3
** GLMMadaptive support
* lme models (package nlme) now have full support for the random part as well
* glmertree models now have full support for stepwise elimination
* calc.anova is now FALSE by default. Most users will not use it anyway, and
for some lmerTest-based models it can cause an error.
* It is now (experimentally) possible to pass REML=FALSE to all buildmer
functions to disable REML detection and always use ML. This may be useful if
you are fitting GLMMs using glmmTMB and do not want to use their REML
approximation.
. Nonconvergence of the fixed-effects part of the term-ordering step is now
handled properly
. Fix bugs in order() and forward() breaking ML-only GLMM fits (GitHub issue #2)
. The 'include' argument was not being processed correctly when a cluster was
provided. This is now fixed.
1.2.1
. Avoid the use of reformulate(), as its env= argument is only available on R
>= 3.6 (bug reported by Willemijn Heeren)
. Relax the convergence checks for negative eigenvalues (affects mgcv and
glmmTMB models)
. Improve detection of random effects
. Remove terms by block when a reference model fails to converge and detect
empty models
1.2
** Proper environment support
** glmertree support
* More formal support for diagonal covariance structures via a new 'groups'
argument to tabulate.formula
* Retire the 'quiet' argument
* Overhaul documentation
* Significantly improve family handling
* Allow 'include' to take a tabulated formula
* conv() now accepts a singular.ok argument, which is always FALSE inside
buildmer
. Improve REML detection
. Increase robustness with user-provided formula tab
. Make convergence checks more consistent between model types
. Rework add.terms and related random-effects detection to fix obscure bug
when tabulating non-r.e. terms that fool lme4::findbars (e.g. 'ar1(x|g)')
1.1
** Large rewrite of internal code organization. You can now specify arbitrary
fitting functions, criteria, and elimination functions.
* Add 'include' argument to force terms to always be in the formula (fixes
github bug #1)
* New function 'buildcustom'
* Added raw log-likelihood as a criterion: 'LL'
. Fix bug in calculating anova table with lmerTest ddf options
. Make calcWald respect numerator df in anova table
. Remove incorrect gradient check for mgcv models in conv(), instead check for
'full convergence' string