- Added support for
`ivreg::ivreg`

objects when estimated by ordinary least squares (support for objects estimated by 2SM and 2SMM is not yet implemented). - Updated unit tests for
`plm::plm()`

when`method = "FD"`

to account for bug fixes in version 2.6-2 of plm.

- Fixed bug in methods for multi-variate multi-level models estimated with lme().
- Updated vignettes, examples, and unit tests so that the package can be compiled without any packages from SUGGESTS.

- Corrected bug in methods for
`plm`

objects estimated by random effects, which occurred when a user-specified clustering variable was at a higher level than the random effects. - Added support for
`plm`

objects with nested random effects (`effects = "nested"`

). - Added additional syntactic options for specifying clustering
variable with
`plm`

objects. See`?plm`

. - Corrected bug in how
`Wald_test()`

labeled results when`test = "Naive-Fp"`

.

New function

`linear_contrast()`

calculates robust confidence intervals and p-values for linear contrasts of regression coefficients from a fitted model. Works with`constrain_pairwise()`

and other`constrain_*()`

helper functions.Corrected precision of unit test leading to error on M1mac.

`Wald_test()`

gains an option for`test = "Naive-Fp"`

, which uses denominator degrees of freedom equal to the number of clusters minus the number of coefficients in the fitted model.`coef_test()`

and`conf_int()`

gain an option for`test = "naive-tp"`

, which uses denominator degrees of freedom equal to the number of clusters minus the number of coefficients in the fitted model.

Corrected a bug in the Satterthwaite degrees of freedom calculations for models that include only an intercept.

Output of

`coef_test()`

and`conf_int()`

now include a variable containing the coefficient names, so that the results are “tidy.”`conf_int()`

now includes an option to report a p-value for each coefficient.`coef_test()`

now reports degrees of freedom for`test = 'z'`

and`test = 'naive-t'`

.`vcovCR()`

now provides a more informative error message when the clustering variable is a constant.`vcovCR()`

now handles models estimated using analytic weights, where some weights are equal to zero. Results are consistent with omitting observations with weights of zero.Added more informative error messages for

`Wald_test()`

and`conf_int()`

, triggered if the test argument does not match any of the available tests.Corrected a bug in

`findCluster.rma.mv()`

, which threw an error if a random effects factor in the rma.mv model had unobserved levels.Corrected a bug in

`Wald_test()`

, which threw an error for tests of intercept-only models.Fixed a minor bug in print method for

`Wald_test()`

results, which threw an error when the p-value was`NA`

.

- Removed dependency on mathjaxr

- Added mathjaxr to Imports

- New functionality for
`impute_covariance_matrix()`

:- Compute covariance matrices with AR1 correlation structure or with a combination of constant correlation and AR1 correlation structure.
- Compute covariance matrices that are blocked by subgroup.
- Average the variance estimates by cluster before computing covariance matrices.

- New function
`pattern_covariance_matrix()`

, which creates a covariance matrix based on a specified pattern of correlations between different categories of effects.

- Corrected bug in methods for
`rma.mv`

objects, which previously led to incorrect identification of clustering variables in models with multiple levels of random effects, where at least one set of random effects has inner | outer structure.

`Wald_test()`

`Wald_test()`

now uses new helper functions`constrain_zero()`

,`constrain_equal()`

, and`constrain_pairwise()`

to specify constraint matrices.`Wald_test()`

gains an argument`tidy`

. When`TRUE`

, results for a list of tests will be tidied into a single data.frame.Output of

`Wald_test()`

now includes both numerator and denominator degrees of freedom.

Corrected bug in methods for

`plm`

objects, which occurred when “within” models included cluster-level interactions. Previously main effects of cluster-level variables were not getting dropped from`model_matrix.plm()`

.Corrected bugs in methods for

`robu`

objects- Corrected a bug that previously led to errors for models with only one column in the model matrix (i.e., intercept-only models).
- Corrected a bug in an internal function that previously led to
errors in
`constrain_equal()`

and`constrain_zero()`

when called on robu objects.

- Updated and streamlined unit tests for R 4.0.0.

- Updated unit tests to satisfy obscure CRAN checks.

Added methods for

`lmerMod`

objects fitted by`lme4::lmer()`

.Updated internals to use

`inherits()`

instead of checking`class()`

directly.

Added t statistics to output of

`coef_test()`

.Fixed a bug in

`get_index_order()`

, an internal function used with plm objects. Previously, the function assumed that both individual and time indices were specified in the`plm`

call. The new function works even when zero or one indices are specified.

`impute_covariance_matrix()`

now drops unobserved factor levels.updated method for handling residuals from

`rma.uni`

and`rma.mv`

objects, for consistency with metafor 2.1-0.

Added

`conf_int()`

to provide easy cluster-robust confidence intervals.Added examples to documentation for

`conf_int()`

and`coef_test()`

.

Added

`coefs`

option to`coef_test()`

to allow testing of subsets of coefficients.Updated tests to use

`carData`

instead of car package.

Added methods for

`ivreg`

objects.Added methods for

`mlm`

objects.Updated

`residuals_CS.plm`

to account for changes in plm 1.6-6.

Added methods for

`glm`

objects.Provide facility to cluster at higher level than highest random effects for

`lme`

and`gls`

objects.Added

`impute_covariance_matrix()`

utility function for multivariate meta-analysis.

Updated methods for plm objects to account for changes in plm 1.6-6.

Added documentation of

`type`

options in`vcovCR()`

.Added examples for all

`vcovCR()`

methods.

Added

`bread()`

methods for all supported model classes.`vcovCR()`

is now calculated using`bread()`

, and carries attributes for`bread`

,`est_mat`

, and adjustment matrices.`vcovCR()`

gains a`form`

argument to obtain just the meat of the sandwich, or to use a user-specified bread matrix.

Refactored internal functions for degrees of freedom calculation to improve speed and memory usage.

Bug fixes:

- updated
`nobs.plm()`

method to handle first-differenced models

- updated

- First version released on CRAN.