# \donttest{
library(data.table)
# 1. Create a COMPLETE dummy dataset
# This satisfies ALL requirements of build_design() and fit_one()
DT <- data.table(
year = 2000:2020,
# Dependent variables (Raw)
I = rpois(21, lambda = 4),
C = rpois(21, lambda = 3),
# Dependent variables (Standardized/Transformed - required by build_design)
zI = rnorm(21),
zC = rnorm(21),
# Trend variables (required if include_trend=TRUE)
t_norm = seq(-1, 1, length.out = 21),
t_poly2 = seq(-1, 1, length.out = 21)^2,
# Regime (required if include_regimes=TRUE)
Regime = factor(sample(c("A", "B"), 21, replace = TRUE)),
# Transition dummies (required if include_transitions=TRUE)
# Specifically: trans_PS, trans_SF, trans_FC
trans_PS = sample(0:1, 21, replace = TRUE),
trans_SF = sample(0:1, 21, replace = TRUE),
trans_FC = sample(0:1, 21, replace = TRUE),
# Exposure offset (required by fit_one)
log_exposure50 = rep(0, 21),
# Control variables (used in this specific example)
X1 = rnorm(21),
X2 = rnorm(21),
X3 = rnorm(21)
)
# 2. Define global objects required by run_eba
control_combos <- list(
None = character(0),
"X1+X2" = c("X1", "X2"),
"X1+X2+X3"= c("X1", "X2", "X3")
)
# 3. Define global paths using tempdir()
tmp_dir <- tempdir()
dir_csv <- file.path(tmp_dir, "csv")
if (!dir.exists(dir_csv)) dir.create(dir_csv, recursive = TRUE)
# 4. Run the function
# Note: This will attempt to run Stan. If CmdStan is not configured,
# it might fail later, but the DATA error is fixed.
try({
eba_tab <- run_eba(DT, spec = "C", k_bma_table = list(), seed = 123)
print(head(eba_tab))
})
# }
Run the code above in your browser using DataLab