meta_analysis: Random-effects meta-analyses

Description Usage Arguments Note Examples

View source: R/meta_analysis.R

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

1
2
3
4
5
6
7
8
9
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.

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# 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

statsExpressions documentation built on Oct. 19, 2021, 9:07 a.m.