

library(meta)
library(readxl)
#==================== COMMON SETTINGS ====================#

meta_settings <- list(
  sm = "RR",
  method = "MH",
  method.tau = "REML",
  hakn = TRUE,
  random = TRUE,
  common = FALSE,
  incr = 0.5,
  allstudies = TRUE
)

forest_settings <- list(
  col.diamond = "black",
  col.square  = "blue1",
  col.lines   = "#024A40",
  col.label.left  = "red3",
  col.label.right = "darkgreen",
  print.tau2 = TRUE,
  print.I2   = TRUE,
  print.Q    = TRUE,
  random = TRUE,
  overall = TRUE,
  test.overall.random = TRUE,
  label.e = "Ivermectin",
  label.c = "Control"
)

#====================  INCIDENCE ====================#

dat <- read_excel(file.choose(), sheet="incidence")

m <- do.call(metabin, c(list(
  event.e = IEvent, n.e = ITotal,
  event.c = CEvent, n.c = CTotal,
  studlab = Study,
  data = dat
), meta_settings))

summary(m)

do.call(forest, c(list(
  m,
  smlab = "Incidence",
  plotwidth = "10cm",
  label.left  = "Lower incidence with\nIvermectin",
  label.right = "Higher incidence with\nIvermectin"
), forest_settings))

inf <- metainf(m, pooled = "random")
forest(inf)

baujat(m)

#====================  MALARIA PREVALENCE ====================#

dat <- read_excel(file.choose(), sheet="malaria prevalence")

m <- do.call(metabin, c(list(
  event.e = IEvent, n.e = ITotal,
  event.c = CEvent, n.c = CTotal,
  studlab = Study,
  data = dat
), meta_settings))

summary(m)

do.call(forest, c(list(
  m,
  smlab = "Malaria prevalence",
  plotwidth = "7cm",
  label.left  = "Lower malaria prevalence\nwith Ivermectin",
  label.right = "Higher malaria prevalence\nwith Ivermectin"
), forest_settings))

inf <- metainf(m, pooled = "random")
forest(inf)

#==================== 3 GIT DISORDERS (SAFETY) ====================#

dat <- read_excel(file.choose(), sheet="GIT disorders")

m <- do.call(metabin, c(list(
  event.e = IEvent, n.e = ITotal,
  event.c = CEvent, n.c = CTotal,
  studlab = Study,
  data = dat
), meta_settings))

summary(m)

do.call(forest, c(list(
  m,
  smlab = "GIT disorders",
  plotwidth = "7cm",
  label.left  = "Lower GIT disorders\nwith Ivermectin",
  label.right = "Higher GIT disorders\nwith Ivermectin"
), forest_settings))

inf <- metainf(m, pooled = "random")
forest(inf)