The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

aedl

aedl implements almost-exact inference for the DerSimonian-Laird (DL) test statistic in the normal-normal random-effects meta-analysis model.

The implementation follows the numerical procedure described in the supplemental material of Hanada and Sugimoto (2023), with the code organized and streamlined for use as an R package. Development validation against the original supplemental program is kept in dev/compare_original_fast.R; the dev/ directory is not included in CRAN builds.

Installation

# From a local checkout
install.packages("aedl_0.1.0.tar.gz", repos = NULL, type = "source")

# Or during development
# devtools::install()

Basic Use

library(aedl)

yi <- c(0.10, 0.25, 0.05, 0.30)
vi <- c(0.04, 0.05, 0.03, 0.06)

res <- aedl(
  yi,
  vi,
  method = "plugin",
  t_grid = seq(-6, 6, by = 0.2),
  nsim = 100,
  nsim_chi = 500,
  n_tau = 50,
  seed = 1
)

res
confint(res)

method = "plugin" corresponds to the exactDL option in the supplemental program and uses the DL estimate of the between-study variance to construct the almost-exact distribution.

method = "i2c" uses a corrected heterogeneity measure. In this package, I_c^2 is computed from the row of the simulated conditional distribution corresponding to the observed I2hat, that is, p(I2hat_obs | I2) over the I2_grid.

res_i2c <- aedl(
  yi,
  vi,
  method = "i2c",
  a = 0,
  b = 1,
  t_grid = seq(-6, 6, by = 0.2),
  I2_grid = seq(0, 0.95, by = 0.05),
  nsim = 100,
  nsim_chi = 500,
  n_tau = 50,
  seed = 2
)

Berkey PD Example

The Berkey probing depth (PD) data are available from metadat, which is a suggested package rather than a dependency of aedl.

if (requireNamespace("metadat", quietly = TRUE)) {
  data("dat.berkey1998", package = "metadat")
  dat_pd <- subset(dat.berkey1998, outcome == "PD")

  res_pd <- aedl(
    dat_pd$yi,
    dat_pd$vi,
    method = "plugin",
    t_grid = seq(-6, 6, by = 0.2),
    nsim = 200,
    nsim_chi = 1000,
    n_tau = 80,
    seed = 123
  )

  res_pd
}

For broader comparisons with DL, HKSJ, PLBC, or exact meta-analysis methods, use packages such as metafor, pimeta, or rma.exact in analysis scripts. Those packages are not required by the core aedl computation.

The package also provides helper functions, aedl_tau2_density() and aedl_stat_density(), to evaluate the approximate density of the DL variance estimator and the almost-exact density of the DL statistic.

Full Analysis Settings

The examples above use small Monte Carlo settings so that they run quickly. For substantive analyses, use larger settings, for example:

# aedl(
#   yi, vi,
#   method = "plugin",
#   nsim = 10000,
#   nsim_chi = 100000,
#   n_tau = 1000
# )

Reference

Hanada, K., & Sugimoto, T. (2023). Inference using an exact distribution of test statistic for random-effects meta-analysis. Annals of the Institute of Statistical Mathematics, 75(2), 281-302. doi:10.1007/s10463-022-00844-4.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.