MyNixOS website logo
Description

Matching-Adjusted Indirect Comparison.

A generalised workflow for generation of subject weights to be used in Matching-Adjusted Indirect Comparison (MAIC) per Signorovitch et al. (2012) <doi:10.1016/j.jval.2012.05.004>, Signorovitch et al (2010) <doi:10.2165/11538370-000000000-00000>. In MAIC, unbiased comparison between outcomes of two trials is facilitated by weighting the subject-level outcomes of one trial with weights derived such that the weighted aggregate measures of the prognostic or effect modifying variables are equal to those of the sample in the comparator trial. The functions and classes included in this package wrap and abstract the process demonstrated in the UK National Institute for Health and Care Excellence Decision Support Unit (NICE DSU)'s example (Phillippo et al, (2016) [see URL]), providing a repeatable and easily specifiable workflow for producing multiple comparison variable sets against a variety of target studies, with preprocessing for a number of aggregate target forms (e.g. mean, median, domain limits).

Readme for package maic

maic

maic is repeatable workflow for calculating subject/observation weights for Matching Adjusted Indirect Comparison (MAIC).

MAIC is a form of population adjustment for indirect comparison that can be undertaken when only aggregate data is available for the comparator intervention, but full subject-level data is available for the investigative intervention. By the method of moments, subject-level weights are generated such that the weighted moments of the baseline variables of the “index” intervention study match the reported moments of the “target” study. Via the first two moments (mean and variance) matching can be achieved on:

  • Mean of variable
  • Proportion of population with attribute
  • Proportion of population with variable below arbitrary value (by encoding as attribute)
  • Median or arbitrary quantile (by matching proportion of population below quantile value)
  • Variance of variable about matched mean
  • Standard deviation of variable about matched mean

In addition, subjects can be assigned zero weight where there is no overlap with the target study, i.e.:

  • Subjects with attribute absent in target study (target proportion = 0)
  • Subjects without attribute universal in target study (target proportion = 1)
  • Subjects with variable below minimum observed in target study
  • Subjects with variable above maximum observed in target study

The generated weights may then be used to form weighted comparisons between intervention outcomes having removed bias for prognostic or effect modifying covariables.

Installation

You can install the released version of maic from CRAN with:

install.packages("maic")

And the development version from GitHub with:

# install.packages("devtools")
devtools::install_github("heorltd/maic")

Example

This example demonstrates how to create the MAIC weights by creation of the configuration objects and running the optimisation procedure:

library(maic)
target <- c("Air.Flow" = 60,
           "Water.Temp" = 21,
           "Prop.Acid.Conc.LT.90" = 0.7,
           "min.air.flow" = 55)

stackloss$match.conc.lt.90 <- 
  ifelse(stackloss$Acid.Conc. < 90, 1, 0)

dict <- data.frame(
  "match.id" = 
    c("airflow", "watertemp", 
      "acidconc", "min.airflow"),
  "target.variable" = 
    c("Air.Flow", "Water.Temp",
      "Prop.Acid.Conc.LT.90", "min.air.flow"),
  "index.variable" = 
    c("Air.Flow", "Water.Temp",
      "match.conc.lt.90", "Air.Flow"),
  "match.type" = 
    c("mean", "mean", "proportion", "min"),
  stringsAsFactors = FALSE)

ipmat <- createMAICInput(
  index = stackloss,
  target = target,
  dictionary = dict,
  matching.variables = 
    c("airflow", "watertemp", 
      "acidconc", "min.airflow"))

wts <- maicWeight(ipmat)
plot(wts)
Metadata

Version

0.1.4

License

Unknown

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • 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-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
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • 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-windows