## ----setup, include = FALSE---------------------------------------------------
knitr::opts_chunk$set(
  collapse  = TRUE,
  comment   = "#>",
  fig.width  = 7,
  fig.height = 4
)
library(DecisionDrift)
set.seed(42)

## ----data---------------------------------------------------------------------
# Simulate a system that became more permissive after wave 4.
# Group A drifts faster than Group B.

n_units <- 80
n_waves <- 8

probs_A <- c(rep(0.20, 4), rep(0.60, 4))  # sharp increase at wave 5
probs_B <- c(rep(0.25, 4), rep(0.40, 4))  # modest increase at wave 5

dat <- data.frame(
  id       = rep(seq_len(n_units), each = n_waves),
  time     = rep(seq_len(n_waves), times = n_units),
  decision = c(
    rbinom(40 * n_waves, 1, rep(probs_A, 40)),
    rbinom(40 * n_waves, 1, rep(probs_B, 40))
  ),
  group    = rep(c("A", "B"), each = 40 * n_waves)
)

dp <- dd_build(dat, id, time, decision,
               group      = group,
               event_time = 5L)
print(dp)

## ----prevalence---------------------------------------------------------------
prev <- dd_prevalence(dp)
print(prev)
plot(prev)

## ----transition---------------------------------------------------------------
tr <- dd_transition(dp)
print(tr)
plot(tr)

## ----entropy------------------------------------------------------------------
et <- dd_entropy_trend(dp, window = 3L)
print(et)
plot(et)

## ----group--------------------------------------------------------------------
gd <- dd_group_drift(dp)
print(gd)
plot(gd)

## ----changepoint--------------------------------------------------------------
cp <- dd_changepoint(dp)
print(cp)
plot(cp)

## ----indices------------------------------------------------------------------
idx <- dd_indices(dp)
print(idx)

## ----audit--------------------------------------------------------------------
aud <- dd_audit(dp, include_robustness = TRUE, verbose = FALSE)
print(aud)

## ----robustness---------------------------------------------------------------
rob <- dd_robustness(dp, variants = c("lopo", "min_waves"))
print(rob)
plot(rob)

