metamiss: Imputation methods for missing binary data

View source: R/metamiss.R

metamissR Documentation

Imputation methods for missing binary data


Imputation methods for the meta-analysis of binary outcomes with missing data.


  IMOR.c = IMOR.e,
  method.miss = if (missing(IMOR.e)) "0" else "IMOR",
  small.values = "good",
  common = x$common,
  random = x$random,
  prediction = x$prediction,
  warn.deprecated = gs("warn.deprecated"),



An object of class metabin.


Number of missing observations in experimental group.


Number of missing observations in control group.


IMOR in experimental group (see Details).


IMOR in control group (see Details).


A character string indicating which method is used to impute missing values. Either "GH", "IMOR", "0", "1", "pc", "pe", "p", "b", or "w", can be abbreviated (see Details).


A character string specifying whether small treatment effects indicate a beneficial ("good") or harmful ("bad") effect, can be abbreviated (see Details).


A logical indicating whether a common effect meta-analysis should be conducted.


A logical indicating whether a random effects meta-analysis should be conducted.


A logical indicating whether a prediction interval should be printed.


A logical indicating whether warnings should be printed if deprecated arguments are used.


Deprecated argument (replaced by 'common').


This function provides several imputation methods to deal with missing data in the meta-analysis of binary outcomes (Gamble & Hollis, 2005; Higgins et al., 2008). In order to utilise these methods, the number of observations with missing outcomes must be provided for the experimental and control group (arguments miss.e and miss.c).

The following imputation methods for missing binary data are available.

Argument Method
method.miss = "GH" Method by Gamble & Hollis (2005)
method.miss = "IMOR" Based on group-specific IMORs
method.miss = "0" Imputed as no events, (i.e., 0)
method.miss = "1" Imputed as events (i.e., 1)
method.miss = "pc" Based on observed risk in control group
method.miss = "pe" Based on observed risk in experimental group
method.miss = "p" Based on group-specific risks
method.miss = "b" Best case scenario for experimental group
method.miss = "w" Worst case scenario for experimental group

The method by Gamble & Hollis (2005) is based on uncertainty intervals for individual studies resulting from best and worst case scenarios taking the missing data into account. The uncertainty intervals are used to calculate (inflated) standard errors which are considered in a generic inverse variance meta-analysis instead of the standard errors from the complete case meta-analysis.

All other methods are based on the Informative Missingness Odds Ratio (IMOR) which is defined as the odds of an event in the missing group over the odds of an event in the observed group (Higgins et al., 2008). For example, an IMOR of 2 means that the odds for an event is assumed to be twice as likely for missing observations. For method.miss = "IMOR", the IMORs in the experimental (argument IMOR.e) and control group (argument IMOR.c) must be specified by the user. For all other methods, the input for arguments IMOR.e and IMOR.c is ignored as these values are determined by the respective imputation method (see Table 2 in Higgins et al., 2008).

For the best and worst case scenarios (i.e., argument method.miss equal to "b" or "w"), the user has to specify whether the outcome is beneficial (argument small.values = "good") or harmful (small.values = "bad").


An object of class c("metamiss", "metagen", "meta") with corresponding print, summary, and forest functions. See metagen for more information.


Guido Schwarzer


Gamble C, Hollis S (2005): Uncertainty method improved on best–worst case analysis in a binary meta-analysis. Journal of Clinical Epidemiology, 58, 579–88

Higgins JPT, White IR, Wood AM (2008): Imputation methods for missing outcome data in meta-analysis of clinical trials. Clinical Trials, 5, 225–39

See Also

metabin, metagen


d1 <- data.frame(author = c("Beasley", "Selman"),
  resp.h = c(29, 17), fail.h = c(18, 1), drop.h = c(22, 11),
  resp.p = c(20, 7), fail.p = c(14, 4), drop.p = c(34, 18))
m1 <- metabin(resp.h, resp.h + fail.h, resp.p, resp.p + fail.p,
  data = d1, studlab = author, sm = "RR", method = "I")

# Treat missings as no events
metamiss(m1, drop.h, drop.p)

# Assume IMORs of 2 for both experimental and control group
metamiss(m1, drop.h, drop.p, IMOR.e = 2)

# Gamble & Hollis (2005)
d2 <- data.frame(author = c("Lefevre", "van Vugt", "van Vugt"),
  year = c(2001, 2000, 1998), = c(7, 4, 49), = c(155, 134, 273), = c(9, 16, 36), = c(0, 0, 7), = c(53, 47, 264), = c(2, 3, 44))

m2 <- metabin(,,,,
  data = d2, studlab = paste0(author, " (", year, ")"),
  method = "Inverse", method.tau = "DL",
  sm = "OR")

metamiss(m2,,, method = "GH")

metasens documentation built on March 7, 2023, 7:51 p.m.