# Code does not run within 10 seconds, so don't run
# \donttest{
# -----------------------------
# Set Up Parallelism & Progress Bar
# -----------------------------
progressr::handlers("cli") # Set handler to something with title/text
numCores <- parallel::detectCores() # Detect number of cores, use max
future::plan(future::multisession, # Or plan(multicore, workers) on Unix
workers = numCores) # Set number of cores to use
doFuture::registerDoFuture() # Or doParallel::registerDoParallel()
# if no progress bar is needed and future
# is unwanted
## UVT
# -----------------------------
# Initialise Inputs
# -----------------------------
num_stages <- 5
t <- 3
p_list <- rep(1, num_stages)
num_treats <- rep(2, num_stages)
n.train <- 5000
n.pred <- 10
# -----------------------------
# Generate Dataset
# -----------------------------
Dat.train <- generate_dataset(n.train, num_stages, p_list, num_treats)
Dat.pred <- generate_dataset(n.pred, num_stages, p_list, num_treats)
Dat.pred <- Dat.pred[-1]
Dat.pred[[num_stages+1]] <- Dat.pred[[num_stages+1]][1:n.pred, 1:(t-1), drop = FALSE]
# -----------------------------
# Main
# -----------------------------
gcv_uvt <- BayesLinRegDTR.model.fit(Dat.train, Dat.pred, n.train, n.pred,
num_stages, num_treats,
p_list, t, R = 30,
tau = 0.01, B = 500, nu0 = NULL,
V0 = NULL, alph = 3, gam = 4)
## MVT
# -----------------------------
# Initialise Inputs
# -----------------------------
num_stages <- 3
t <- 2
p_list <- rep(2, num_stages)
num_treats <- rep(2, num_stages)
n.train <- 5000
n.pred <- 10
# -----------------------------
# Generate Dataset
# -----------------------------
Dat.train <- generate_dataset(n.train, num_stages, p_list, num_treats)
Dat.pred <- generate_dataset(n.pred, num_stages, p_list, num_treats)
Dat.pred <- Dat.pred[-1]
Dat.pred[[num_stages+1]] <- Dat.pred[[num_stages+1]][1:n.pred, 1:(t-1), drop = FALSE]
# -----------------------------
# Main
# -----------------------------
gcv_res <- BayesLinRegDTR.model.fit(Dat.train, Dat.pred, n.train, n.pred,
num_stages, num_treats,
p_list, t, R = 30,
tau = 0.01, B = 500, nu0 = 3,
V0 = mapply(diag, p_list, SIMPLIFY = FALSE),
alph = 3, gam = 4)
# }
Run the code above in your browser using DataLab