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

## -----------------------------------------------------------------------------
library(cwad)
sig2g <- 1; sig2e <- 2; alpha <- sig2e / sig2g
g <- make_fs_G(c(rep(12, 3), rep(4, 5), rep(1, 10)))
Ginv <- solve(g$G); N <- nrow(g$G)
N

## -----------------------------------------------------------------------------
r_unif <- rep(2, N)
r_cwad <- greedy_alloc(Ginv, B = 2 * N, alpha = alpha, sig2e = sig2e)
table(r_cwad)

## -----------------------------------------------------------------------------
tapply(r_cwad, g$connectivity, mean)

## -----------------------------------------------------------------------------
cmp <- compare_designs(g$G, alpha, sig2e,
                       list(`Uniform r=2` = r_unif, CWAD = r_cwad))
cmp[, c("allocation", "PEV_noG", "PEV_kin")]

## -----------------------------------------------------------------------------
cmp[, c("allocation", "gain_analysis_pp", "gain_allocation_pp", "gain_total_pp")]

## -----------------------------------------------------------------------------
B <- round(1.5 * N)
ctrl <- balanced_control(B, N, reps = 5)
mean(vapply(ctrl, function(r) pev_pairwise(r, Ginv, alpha, sig2e), numeric(1)))
pev_pairwise(greedy_alloc(Ginv, B, alpha, sig2e, check = FALSE),
             Ginv, alpha, sig2e)

