Skip to contents

Introduction

Egger’s regression (Egger et al., 1997) detects funnel plot asymmetry by regressing standardised effect estimates on precision. In a symmetric funnel — the expected pattern under no publication bias — the regression passes through the origin. A non-zero intercept indicates that small-precision (small-sample) studies yield systematically different effects than large-precision (large-sample) studies, a pattern consistent with publication bias or small-study effects.

bayesma implements a fully Bayesian version of Egger’s regression via egger(). The Bayesian formulation provides:

  • posterior distributions for the Egger intercept and slope, not just p-values
  • flexible modelling of residual heterogeneity (multiplicative or additive)
  • coherent quantification of evidence for asymmetry via Bayes factors

Model specification

Following Shi et al. (2020), the Bayesian Egger model is

yisi=αsi1+β+εi \frac{y_i}{s_i} = \alpha \cdot s_i^{-1} + \beta + \varepsilon_i

where yi/siy_i / s_i is the standardised effect (z-score) and sis_i is the standard error. Rearranging:

yi=α+βsi+εi y_i = \alpha + \beta \cdot s_i + \varepsilon_i

Here α\alpha is the effect at infinite precision (no publication bias) and β\beta is the Egger regression coefficient: the rate at which the effect changes as a function of standard error.

Residual heterogeneity

Two models for the error term εi\varepsilon_i:

Multiplicative heterogeneity (Egger’s original formulation): εi𝒩(0,κ2si2) \varepsilon_i \sim \mathcal{N}(0, \kappa^2 s_i^2) where κ\kappa is a multiplicative overdispersion factor. κ=1\kappa = 1 corresponds to the standard fixed-effect Egger model.

Additive heterogeneity: εi𝒩(0,si2+τ2) \varepsilon_i \sim \mathcal{N}(0, s_i^2 + \tau^2) where τ\tau is the between-study heterogeneity, identical to the standard random-effects parameterisation.

Priors:

α𝒩(0,1),β𝒩(0,1),κHalf-Normal(0,1),τHalf-Cauchy(0,0.5) \alpha \sim \mathcal{N}(0, 1), \qquad \beta \sim \mathcal{N}(0, 1), \qquad \kappa \sim \text{Half-Normal}(0, 1), \qquad \tau \sim \text{Half-Cauchy}(0, 0.5)

Fitting Egger’s test

egger_fit <- egger(
  data,
  heterogeneity = "additive"
)

summary(egger_fit)
egger_plot(egger_fit)

heterogeneity = "multiplicative" reproduces the original Egger model. "additive" is preferable when the goal is to estimate the publication-bias adjusted effect α\alpha while allowing for genuine heterogeneity.

Interpreting the output

summary() returns:

Parameter Interpretation
alpha Pooled effect adjusted for publication bias (intercept)
beta Egger slope: change in effect per unit SE
tau Residual heterogeneity (additive model)
kappa Overdispersion (multiplicative model)
BF_beta Bayes factor for H1:β0H_1: \beta \neq 0 vs H0:β=0H_0: \beta = 0

A large |β||\beta| with posterior mass away from zero indicates funnel asymmetry. The Bayes factor quantifies evidence on a continuous scale:

BF10\text{BF}_{10} Interpretation
<1< 1 Evidence against asymmetry
1133 Anecdotal
331010 Moderate
10103030 Strong
>30> 30 Very strong

Egger plot

egger_plot() produces a scatter plot of standardised effects vs standard error with the fitted Egger regression line and its 95% credible band.

Limitations

Egger’s test has low power when k<10k < 10. A non-significant result does not rule out publication bias; it only indicates that the data are insufficient to detect asymmetry at the measured precision.

Funnel asymmetry can also arise from causes other than publication bias: genuine small-study effects, heterogeneity correlated with study size, or artefacts in effect size computation. A positive Egger test should prompt further investigation (selection models, PET-PEESE) rather than a reflexive conclusion of publication bias.

For a visual complement to the Egger test, see Funnel Plots.