meta_analysis {statsExpressions}R Documentation

Random-effects meta-analysis

Description

Parametric, non-parametric, robust, and Bayesian random-effects meta-analysis.

Usage

meta_analysis(
  data,
  type = "parametric",
  random = "mixture",
  k = 2L,
  conf.level = 0.95,
  ...
)

Arguments

data

A data frame. It must contain columns named estimate (effect sizes or outcomes) and std.error (corresponding standard errors). These two columns will be used:

  • as yi and sei arguments in metafor::rma() (for parametric test) or metaplus::metaplus() (for robust test)

  • as y and SE arguments in metaBMA::meta_random() (for Bayesian test).

type

A character specifying the type of statistical approach:

  • "parametric"

  • "nonparametric"

  • "robust"

  • "bayes"

You can specify just the initial letter.

random

The type of random effects distribution. One of "normal", "t-dist", "mixture", for standard normal, t-distribution or mixture of normals respectively.

k

Number of digits after decimal point (should be an integer) (Default: k = 2L).

conf.level

Scalar between 0 and 1 (default: 95% confidence/credible intervals, 0.95). If NULL, no confidence intervals will be computed.

...

Additional arguments passed to the respective meta-analysis function.

Value

The returned tibble data frame can contain some or all of the following columns (the exact columns will depend on the statistical test):

For examples, see data frame output vignette.

Random-effects meta-analysis

The table below provides summary about:

Hypothesis testing and Effect size estimation

Type Test CI available? Function used
Parametric Pearson's correlation coefficient Yes correlation::correlation()
Non-parametric Spearman's rank correlation coefficient Yes correlation::correlation()
Robust Winsorized Pearson's correlation coefficient Yes correlation::correlation()
Bayesian Bayesian Pearson's correlation coefficient Yes correlation::correlation()

Note

Important: The function assumes that you have already downloaded the needed package ({metafor}, {metaplus}, or {metaBMA}) for meta-analysis. If they are not available, you will be asked to install them.

Examples


# setup
set.seed(123)
library(statsExpressions)

# a data frame with estimates and standard errors
# (`mag` dataset from `{metaplus}`)
df <- tibble::tribble(
  ~study, ~estimate, ~std.error,
  "Abraham", -0.83, 1.247,
  "Bertschat", -1.056, 0.414,
  "Ceremuzynski", -1.278, 0.808,
  "Feldstedt", -0.043, 1.429,
  "Golf", 0.223, 0.489,
  "ISIS-4", -2.407, 1.072,
  "LIMIT-2", -1.28, 1.193,
  "Morton", -1.191, 1.661,
  "Pereira", -0.695, 0.536,
  "Rasmussen", -2.208, 1.109,
  "Schechter", -2.038, 0.78,
  "Schechter 1", -0.85, 0.618,
  "Schechter 2", -0.793, 0.625,
  "Singh", -0.299, 0.146,
  "Smith", -1.57, 0.574,
  "Thogersen", 0.057, 0.031
)

# parametric
meta_analysis(df)


# robust
meta_analysis(df, type = "random", random = "normal")


# Bayesian
meta_analysis(df, type = "bayes")


[Package statsExpressions version 1.5.0 Index]