# The metafor Package

A Meta-Analysis Package for R

### Sidebar

news:news

This is an old revision of the document!

## Package News

### April 21st, 2021: Better Degrees of Freedom Calculation

In random/mixed-effects models as can be fitted with the rma() function, tests and confidence intervals for the model coefficients are by default constructed based on a standard normal distribution.1) In general, it is better to use the Knapp-Hartung method for this purpose, which does two things: (1) the standard errors of the model coefficients are estimated in a slightly different way and (2) a t-distribution is used with $k-p$ degrees of freedom (where $k$ is the total number of estimates and $p$ the number of coefficients in the model). When conducting a simultaneous (or 'omnibus') test of multiple coefficients, then an F-distribution with $m$ and $k-p$ degrees of freedom is used (for the 'numerator' and 'denominator' degrees of freedom, respectively), with $m$ denoting the number of coefficients tested. To use this method, set argument test="knha".

The Knapp-Hartung method cannot be directly generalized to more complex models as can be fitted with the rma.mv() function, although we can still use t- and F-distributions for conducting tests of one or multiple model coefficients in the context of such models. This is possible by setting test="t". However, this then raises the question how the (denominator) degrees of freedom for such tests should be calculated. By default, the degrees of freedom are calculated as described above. However, this method does not reflect the complexities of models that are typically fitted with the rma.mv() function. For example, in multilevel models (with multiple estimates nested within studies), a predictor (or 'moderator') may be measured at the study level (i.e., it is constant for all estimates belonging to the same study) or at the level of the individual estimates (i.e., it might vary within studies). By setting argument dfs="contain", a method is used for calculating the degrees of freedom that tends to provide tests with better control of the Type I error rate and confidence intervals with closer to nominal coverage rates. See the documentation of the function for further details.

### April 3rd, 2021: Scatter Plots / Bubble Plots for Meta-Regression Models

I finally got around to adding a function to the package for drawing scatter plots (also known as bubble plots) for meta-regression models. See the documentation of the regplot() function for further details. An example illustrating such a plot is provided here.

1)
In a random-effects model, there is of course just one coefficient, namely $\hat{\mu}$, the estimated average true outcome. 