MyNixOS website logo
Description

Almost-Exact Inference for the DerSimonian-Laird Test Statistic.

Implements almost-exact inference for the DerSimonian-Laird test statistic in the normal-normal random-effects meta-analysis model, as described in Hanada and Sugimoto (2023) <doi:10.1007/s10463-022-00844-4>. The method approximates the distribution of the DerSimonian-Laird test statistic by combining the distribution of the untruncated DerSimonian-Laird estimator of the between-study variance with a conditional normal approximation. Methods based on a plug-in between-study variance and a corrected heterogeneity measure are provided.

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.

Metadata

Version

0.1.0

License

Unknown

Platforms (79)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    uefi
    wasip1
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-uefi
  • aarch64-windows
  • aarch64_be-none
  • arc-linux
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-linux
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • sh4-linux
  • vc4-none
  • wasm32-wasip1
  • wasm64-wasip1
  • x86_64-cygwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-uefi
  • x86_64-windows