NEWS.md
12/10/2021
semEff()
and bootCI()
, accessed via new print()
and summary()
methods.predEff()
."psem"
objects (piecewiseSEM::psem()
) in bootEff()
/semEff()
."semEff"
object (for reference; does not include bootstrapped effects). Extract using getAllInd()
.bootEff()
/semEff()
(names are generated automatically).R2()
(control of negative values, new improved default method for adjusted R-squared – Olkin-Pratt exact estimator).getX()
, for more flexible construction of model design matrices (mostly for internal use).…
argument of stdEff()
– arguments to R2()
are now passed as named list to R2.arg
.dirEff()
-> getDirEff()
) and added some new ones.xNam()
was not evaluating factor/character terms correctly. The function now explicitly treats all non-numeric predictor variables as factors and coerces where necessary. It also has improved handling of factor contrasts when evaluating names.pSapply()
did not work with parallel = "multicore"
, due to relying completely on parallel::parSapply()
for parallel processing (which is "snow"
only). The function now wraps parallel::mcmapply()
for "multicore"
(not available on Windows systems).09/04/2021
unique.x
argument of stdEff()
to unique.eff
(old name temporarily allowed).R
argument of bootEff()
. The number of bootstrap resamples must now be explicitly specified, which is probably better practice (10,000 is often recommended for confidence intervals).type
argument to bootEff()
, to specify the type of bootstrapping to perform (for mixed models). This replaces ran.eff = "crossed"
, previously used to indicate parametric bootstrapping (although it’s temporarily allowed).bootEff()
will now treat a list containing both mixed and non-mixed models as all mixed (with a warning). Previously all such models were treated as non-mixed (unintentionally). This is presumably a relatively rare scenario.R2()
did not calculate adjusted R-squared correctly for beta regression models (i.e. did not incorporate the ‘phi’ parameter in degrees of freedom calculations).xNam()
produced an error when attempting to evaluate factor contrasts in data, expecting that character vectors were factors (related to the change to stringsAsFactors = FALSE
as default in R 4.0.0
, but would have occurred in some cases regardless).01/10/2020
incl.raw
argument to stdEff()
(stdCoeff()
), to append raw effects (unstandardised coefficients) to the output. This facilitates simultaneous bootstrapping of both sets of effects, allowing raw effects to be used alternatively for calculating (semEff(..., use.raw = TRUE)
) or predicting (predEff(..., use.raw = TRUE)
) effects/CIs.stdCoeff()
to stdEff()
, to better reflect the concept of standardised model coefficients as ‘effects’ (calling stdCoeff()
will still work – with a warning – until the next version at least).offset
argument to getY()
and R2()
, to explicitly retain/remove an offset (where present) in/from the response variable or fitted values. Offsets are removed by default, which ensures, for example, that standardised effects are scaled appropriately.env
argument to multiple functions, for explicitly specifying the location of data used to fit models (not necessary in most circumstances). This replaces the ...
argument in many instances, which was previously used to pass an environment to eval()
(via getData()
). env
(and data
) can also now be passed (...
) to bootEff()
and predEff()
.bootCI()
/semEff()
output (i.e. confidence level, type).R2()
no longer calculates predictive R-squared for GLMMs, as the interpretation of the hat matrix used in calculations is not reliable (see https://rdrr.io/cran/lme4/man/hatvalues.merMod.html).getY()
to glt()
, allowing more controlled output of getY(..., link = TRUE)
.bootEff()
specified with correlated errors failed for mixed models of class "lmerModLmerTest"
(issue with re-fitting models using update()
).predEff()
failed to evaluate some complex model terms (e.g. polynomials).stdEff()
(stdCoeff()
) did not re-fit model properly to calculate correct VIFs for a fully ‘centred’ model (i.e. did not account sufficiently for complex terms such as polynomials or transformations, where mean-centring should occur as the final step).xNam()
generated incorrect term names for categorical predictors under certain circumstances (different contrast types, interactive effects with no ‘main’ effects).stdEff()
(stdCoeff()
) incorrectly calculated ‘centred’ intercept for models with an offset specified.predEff()
failed when a nested list of models and list of numeric weights were supplied (i.e. a model averaging scenario).stdEff()
(stdCoeff()
) did not return the ‘phi’ parameter(s) for beta regression models.25/03/2020
"lmerModLmerTest"
.glt()
, for calculating ‘generalised’ link transformations for non-gaussian variables.getY()
to glt()
.bootEff()
and getY()
.stdCoeff()
to use variables not present in the model design matrix (e.g. a ‘missing’ main effect for an interaction).bootEff()
) to the effects
argument of predEff()
.refit.x
argument to stdCoeff()
, allowing control over whether to refit the model with centred predictors (for correct VIFs).xNam()
did not generate correct term names for categorical variables with contrast types other than contr.treatment()
.stdCoeff()
did not correctly adjust for multicollinearity for a model containing categorical variables when centring was specified (cen.x = TRUE
).getY()
failed to generate an estimated working response when a variable with missing values (NA
) was supplied (this functionality now in glt()
).predEff()
failed for models with categorical variables (did not access dummy variables in model matrix).08/01/2020
"gls"
)."betareg"
).xNam()
did not generate correct term names for interactions involving multi-coefficient terms (e.g. factors).xNam()
did not generate correct term names for factors when the model intercept is suppressed.R2()
with argument pred = TRUE
threw an error for models where any weights = 0.