Skip to contents

The minter package provides tools for calculating effect sizes used in meta-analyses, focusing on factorial designs and repeated measures designs. This documentation explains each function, its parameters, and provides examples.

The minter package implements two primary types of effect size calculations:

  1. Factorial design effect sizes: For experimental designs with two factors (2×2 designs). There are three types of effect sizes that can be calculated in this designs:
  • Individual/simple effects (comparing single treatments)
  • Main effects (average effect of a factor across levels of another factor)
  • Interaction effects (how the effect of one factor depends on the level of another)
  1. Repeated measures effect sizes: For time-based or before-after treatments.

Quick Navigation

Repeated Measures Effect Sizes

Factorial Design Effect Sizes

These functions compute effect sizes for standard 2×2 factorial designs where two factors (A and B) are manipulated.

Effect sizes for factorial meta-analysis appeared for the first time in Gurevitch et al. 2000. In this paper, the authors presented the idea of estimating effect sizes for factorial experiments analogous to the estimation of main and interaction effects in ANOVA. They done this for the Standardized Mean Difference, and the approach was later expanded for other kind of effect sizes.

Recently, Shinichi Nakagawa and Daniel Noble derived different families of effect sizes for factorial experiments, like lnVR or lnCVR, and kindly shared those formulas.

SMD - Standardized Mean Difference

SMD_ind()

This function computes the individual or simple effect of Factor A over the Control treatment.

It is the classic Standardized Mean Difference (SMD), which can also be computed with metafor’s escalc() function using measure = "SMD".

The individual Standardized Mean Difference of Factor A is calculated as:

dind=XAXCtrlSpooledJ(m) d_{ind} = \frac{\bar{X}_A - \bar{X}_{Ctrl}}{S_{pooled}} \cdot J(m)

where:

Spooled=(nA1)sdA2+(nCtrl1)sdCtrl2nA+nCtrl2 S_{pooled} = \sqrt{\frac{(n_A-1)sd_A^2 + (n_{Ctrl}-1)sd_{Ctrl}^2}{n_A + n_{Ctrl} - 2}}

The J(m)J(m) is a correction for small-sample bias introduced by Hedges (REF). This is used by default in minter, but can be turned off with hedges_correction = FALSE.

This factor is computed as:

J(m)=134m1J(m) = 1 - \frac{3}{4m-1}

with m=nA+nCtrl2m = n_A + n_{Ctrl} - 2

And the sampling variance is:

var(dind)=1nA+1nCtrl+d22(nA+nCtrl) var(d_{ind}) = \frac{1}{n_A} + \frac{1}{n_{Ctrl}} + \frac{d^2}{2(n_A + n_{Ctrl})}

SMD_main()

To compute the main effect of Factor A:

dmain=(XA+XAB)(XB+XCtrl)2SpooledJ(m)d_{main} = \frac{(\bar{X}_A + \bar{X}_{AB}) - (\bar{X}_{B} + \bar{X}_{Ctrl})}{2S_{pooled}} \cdot J(m)

The correction for small-sample bias JJ is the same shown above, but the degrees of freedom are now: m=nA+nB+nAB+nCtrl4m = n_A + n_B + n_{AB} + n_{Ctrl} - 4

In this case SpooledS_{pooled} is the pooled standard deviation for all four groups:

Spooled=(nA1)sdA2+(nB1)sdB2+(nAB1)sdAB2+(nCtrl1)sdCtrl2nA+nB+nAB+nCtrl4S_{pooled} = \sqrt{\frac{(n_A-1)sd_A^2 + (n_B-1)sd_B^2 + (n_{AB}-1)sd_{AB}^2 + (n_{Ctrl}-1)sd_{Ctrl}^2}{n_A + n_B + n_{AB} + n_{Ctrl} - 4}} Where the sampling variance is:

var(dmain)=14(1nA+1nB+1nAB+1nCtrl+dA22(nA+nB+nAB+nCtrl)) var(d_{main}) = \frac{1}{4} \left( \frac{1}{n_A} + \frac{1}{n_B} + \frac{1}{n_{AB}} + \frac{1}{n_{Ctrl}} + \frac{d_A^2}{2(n_A + n_B + n_{AB} + n_{Ctrl})} \right)

SMD_inter()

For interaction effects:

dinter=(XABXB)(XAXCtrl)SpooledJ(m)d_{inter} = \frac{(\bar{X}_{AB} - \bar{X}_B) - (\bar{X}_A - \bar{X}_{Ctrl})}{S_{pooled}} \cdot J(m)

where SpooledS_{pooled} is the pooled standard deviation for all four groups, calculated using the same formula than SMD_main().

And the sampling variance is:

var(dinter)=1nA+1nB+1nAB+1nCtrl+dInter22(nA+nB+nAB+nCtrl) var(d_{inter}) = \frac{1}{n_A} + \frac{1}{n_B} + \frac{1}{n_{AB}} + \frac{1}{n_{Ctrl}} + \frac{d_{Inter}^2}{2(n_A + n_B + n_{AB} + n_{Ctrl})}

References

  • Gurevitch, J., Morrison, J. A., & Hedges, L. V. (2000). The interaction between competition and predation: a meta-analysis of field experiments. The American Naturalist, 155(4), 435-453.
  • Morris, W. F., et al. (2007). Direct and interactive effects of enemies and mutualists on plant performance: a meta‐analysis. Ecology, 88(4), 1021-1029.

lnRR - Log Response Ratio

lnRR_ind()

For individual effects:

lnRRind=ln(XAXCtrl) \ln RR_{ind} = \ln\left(\frac{\bar{X}_A}{\bar{X}_{Ctrl}}\right)

with variance

vind=sdA2nAXA2+sdCtrl2nCtrlXCtrl2 v_{ind} = \frac{sd_A^2}{n_A\bar{X}_A^2} + \frac{sd_{Ctrl}^2}{n_{Ctrl}\bar{X}_{Ctrl}^2}

lnRR_main()

For main effects:

lnRRmain=ln(XA+XABXCtrl+XB) \ln RR_{main} = \ln\left(\frac{\bar{X}_A + \bar{X}_{AB}}{\bar{X}_{Ctrl} + \bar{X}_B}\right)

with variance

vmain=(1XA+XAB)2(sdA2nA+sdAB2nAB)+(1XCtrl+XB)2(sdCtrl2nCtrl+sdB2nB) v_{main} = \left(\frac{1}{\bar{X}_A + \bar{X}_{AB}}\right)^2 \left(\frac{sd_A^2}{n_A} + \frac{sd_{AB}^2}{n_{AB}}\right) + \left(\frac{1}{\bar{X}_{Ctrl} + \bar{X}_B}\right)^2 \left(\frac{sd_{Ctrl}^2}{n_{Ctrl}} + \frac{sd_B^2}{n_B}\right)

lnRR_inter()

For interaction effects:

lnRRinter=ln(XABXB)ln(XAXCtrl) \ln RR_{inter} = \ln\left(\frac{\bar{X}_{AB}}{\bar{X}_B}\right) - \ln\left(\frac{\bar{X}_A}{\bar{X}_{Ctrl}}\right)

with variance

vinter=sdAB2nABXAB2+sdA2nAXA2+sdB2nBXB2+sdCtrl2nCtrlXCtrl2 v_{inter} = \frac{sd_{AB}^2}{n_{AB}\bar{X}_{AB}^2} + \frac{sd_A^2}{n_A\bar{X}_A^2} + \frac{sd_B^2}{n_B\bar{X}_B^2} + \frac{sd_{Ctrl}^2}{n_{Ctrl}\bar{X}_{Ctrl}^2}

lnVR - Log of Variability Ratio

lnVR_ind()

lnVRind=ln(sdAsdCtrl)+12(nA1)12(nCtrl1) lnVR_{ind} = \ln\left(\frac{sd_{A}}{sd_{Ctrl}}\right) + \frac{1}{2(n_{A} - 1)} - \frac{1}{2(n_{Ctrl} - 1)}

var(lnVRind)=12(nA1)+12(nCtrl1) var(lnVR_{ind}) = \frac{1}{2(n_{A} - 1)} + \frac{1}{2(n_{Ctrl}- 1)}

lnVR_main()

lnVRmain=12ln(sdABsdAsdBsdCtrl)+12(12(nAB1)+12(nA1)12(nB1)12(nCtrl1)) lnVR_{main} = \frac{1}{2} \ln\left( \frac{sd_{AB} \cdot sd_{A}}{sd_{B} \cdot sd_{Ctrl}} \right) + \frac{1}{2} \left( \frac{1}{2(n_{AB} - 1)} + \frac{1}{2(n_{A} - 1)} - \frac{1}{2(n_{B} - 1)} - \frac{1}{2(n_{Ctrl} - 1)} \right)

var(lnVRvmain)=14(12(nAB1)+12(nA1)+12(nB1)+12(nCtrl1)) var(lnVRv_{main}) = \frac{1}{4} \left( \frac{1}{2(n_{AB} - 1)} + \frac{1}{2(n_{A} - 1)} + \frac{1}{2(n_{B} - 1)} + \frac{1}{2(n_{Ctrl} - 1)} \right)

lnVR_inter()

lnVRinter=ln(sdAB/sdBsdA/sdCtrl)+12(nAB1)12(nA1)12(nB1)+12(nCtrl1) lnVR_{inter} = \ln\left( \frac{sd_{AB} / sd_{B}}{sd_{A} / sd_{Ctrl}} \right) + \frac{1}{2(n_{AB} - 1)} - \frac{1}{2(n_{A} - 1)} - \frac{1}{2(n_{B} - 1)} + \frac{1}{2(n_{Ctrl} - 1)}

var(lnVRvinter)=12(nAB1)+12(nA1)+12(nB1)+12(nCtrl1) var(lnVRv_{inter}) = \frac{1}{2(n_{AB} - 1)} + \frac{1}{2(n_{A} - 1)} + \frac{1}{2(n_{B} - 1)} + \frac{1}{2(n_{Ctrl} - 1)}

lnCVR - Log of Coefficient of Variation Ratio

In all this formulas, the CV is: CV=sd/xCV = sd / \bar{x}

lnCVR_ind()

lnCVRind=ln(CVACVCtrl)+12(nA1)12(nCtrl1) lnCVR_{ind} = \ln\left( \frac{CV_{A}}{CV_{Ctrl}} \right) + \frac{1}{2(n_{A} - 1)} - \frac{1}{2(n_{Ctrl} - 1)}

var(lnCVRind=log(CVACVCtrl)+12(nA1)12(nCtrl1) var(lnCVR_{ind} = \log\left( \frac{CV_{A}}{CV_{Ctrl}} \right) + \frac{1}{2(n_{A} - 1)} - \frac{1}{2(n_{Ctrl} - 1)}

lnCVR_main()

lnCVRmain=12ln(CVABCVACVBCVCtrl)+12(12(nAB1)+12(nA1)12(nB1)12(nCtrl1)) lnCVR_{main} = \frac{1}{2} \ln\left( \frac{CV_{AB} \cdot CV_{A}}{CV_{B} \cdot CV_{Ctrl}} \right) + \frac{1}{2} \left( \frac{1}{2(n_{AB} - 1)} + \frac{1}{2(n_{A} - 1)} - \frac{1}{2(n_{B} - 1)} - \frac{1}{2(n_{Ctrl} - 1)} \right)

var(lnCVRmain)=var(lnRRmain)+var(lnVRmain) var(lnCVR_{main}) = var(lnRR_{main}) + var(lnVR_{main})

lnCVR_inter()

lnCVRinter=log(CVAB/CVBCVA/CVCtrl)+12(12(nAB1)12(nA1)+12(nB1)12(nCtrl1)) lnCVR_{inter} = \log\left( \frac{CV_{AB} / CV_{B}}{CV_{A} / CV_{Ctrl}} \right) + \frac{1}{2} \left( \frac{1}{2(n_{AB} - 1)} - \frac{1}{2(n_{A} - 1)} + \frac{1}{2(n_{B} - 1)} - \frac{1}{2(n_{Ctrl} - 1)} \right)

var(lnCVRinter)=var(lnRRinter)+var(lnVRinter) var(lnCVR_{inter}) = var(lnRR_{inter}) + var(lnVR_{inter})