## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(collapse = TRUE, comment = "#>")
library(respondeR)

## ----eval = FALSE-------------------------------------------------------------
# library(meta)
# fit <- metacont(
#   n.e = n_e, mean.e = change_e, sd.e = sd_e,
#   n.c = n_c, mean.c = change_c, sd.c = sd_c,
#   studlab = study, data = sample_responder_data
# )
# responder_analysis(fit, mid = 1)

## -----------------------------------------------------------------------------
d <- sample_responder_data
fit_meta <- structure(
  list(
    studlab = d$study,
    n.e = d$n_e, mean.e = d$change_e, sd.e = d$sd_e,
    n.c = d$n_c, mean.c = d$change_c, sd.c = d$sd_c,
    sm = "MD"
  ),
  class = c("metacont", "meta")
)

responder_analysis(fit_meta, mid = 1)[, c("method", "p_e", "p_c", "rd", "rr", "or")]

## ----eval = requireNamespace("metafor", quietly = TRUE)-----------------------
library(metafor)
es <- escalc(
  measure = "SMD", m1i = change_e, sd1i = sd_e, n1i = n_e,
  m2i = change_c, sd2i = sd_c, n2i = n_c, data = d
)
fit_rma <- rma(yi, vi, data = es)

# A standardized mean difference, against a 22% control responder rate:
responder_analysis(fit_rma, baseline = 0.22)[, c("method", "p_e", "p_c", "rd", "or")]

## ----eval = requireNamespace("metafor", quietly = TRUE)-----------------------
es_vas <- escalc(
  measure = "SMD", m1i = change_e, sd1i = sd_e, n1i = n_e,
  m2i = change_c, sd2i = sd_c, n2i = n_c, data = vas_pain
)
fit_vas <- rma(yi, vi, data = es_vas, test = "knha")
responder_analysis(fit_vas, baseline = 0.4, direction = "lower")

## ----eval = requireNamespace("metafor", quietly = TRUE)-----------------------
es_md <- escalc(
  measure = "MD", m1i = change_e, sd1i = sd_e, n1i = n_e,
  m2i = change_c, sd2i = sd_c, n2i = n_c, data = d
)
fit_md <- rma(yi, vi, data = es_md)

responder_analysis(fit_md, baseline = list(mean = 0, sd = 1.3),
                   mid = 1, sd_ref = 1.3)[, c("method", "p_e", "p_c", "rd")]

## -----------------------------------------------------------------------------
# Pooled SMD of 0.5 (SE 0.1) vs a 25% control responder rate:
responder_from_effect(0.5, se = 0.1, measure = "SMD", baseline = 0.25)[,
  c("method", "p_e", "p_c", "rd", "or")]

