Learn R Programming

statsExpressions (version 1.2.0)

meta_analysis: Random-effects meta-analyses

Description

A dataframe containing results from random-effects meta-analysis.

To see details about functions which are internally used to carry out these analyses, see the following vignette- https://indrajeetpatil.github.io/statsExpressions/articles/stats_details.html

Usage

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

Arguments

data

A dataframe. 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. If unspecified, the defaults return 95% confidence/credible intervals (0.95).

top.text

Text to display on top of the Bayes Factor message. This is mostly relevant in the context of ggstatsplot package functions.

...

Additional arguments passed to the respective meta-analysis function.

Examples

Run this code
# NOT RUN {
# a dataframe with estimates and standard errors (`mag` dataset from `metaplus`)
df <-
  structure(list(
    study = structure(c(
      8L, 10L, 15L, 1L, 4L, 11L, 3L, 2L, 14L, 9L, 12L, 5L, 16L, 7L, 13L, 6L
    ), .Label = c(
      "Abraham", "Bertschat", "Ceremuzynski", "Feldstedt", "Golf",
      "ISIS-4", "LIMIT-2", "Morton", "Pereira", "Rasmussen", "Schechter", "Schechter 1",
      "Schechter 2", "Singh", "Smith", "Thogersen"
    ), class = "factor"),
    estimate = c(
      -0.8303483, -1.056053, -1.27834, -0.0434851, 0.2231435,
      -2.40752, -1.280934, -1.191703, -0.695748, -2.208274, -2.03816,
      -0.8501509, -0.7932307, -0.2993399, -1.570789, 0.0575873
    ),
    std.error = c(
      1.24701799987009, 0.41407060026039, 0.808139200261935,
      1.42950999996502, 0.489168400451215, 1.07220799987689, 1.1937340001022,
      1.66129199992054, 0.536177600240816, 1.10964800004326, 0.780726300312728,
      0.618448600127771, 0.625866199758383, 0.146572899950844,
      0.574039500383031, 0.0316420922190679
    )
  ), row.names = c(NA, -16L), class = "data.frame")

# setup
set.seed(123)
library(statsExpressions)
options(tibble.width = Inf, pillar.bold = TRUE, pillar.neg = TRUE)

meta_analysis(df) # parametric
# meta_analysis(df, type = "random", random = "normal") # robust
# meta_analysis(df, type = "bayes") # Bayesian
# }

Run the code above in your browser using DataLab