Alpha designs are resolvable incomplete block designs introduced by
Patterson and Williams (1976). The design consists of r
replicates, each split into s incomplete blocks of
k plots each. The design is resolvable when every replicate
contains all v treatments exactly once; this requires
s * k >= v.
This R package implements the alpha design using the exact generating
arrays extracted from the historical EDGAR Alpha.xls
workbook (a property of the Biometrics team at Rothamsted Research). The
same generating arrays are used by the upstream Python
edgar-design package; this R port reproduces that
implementation faithfully.
library(ExperimentalDesignGeneratorandRandomiser)
res <- design_alpha(
treatment_count = 24,
reps = 2,
blocks_per_replicate = 6,
seed = 100
)
df <- as.data.frame(res)
head(df)The result contains Unit, Rep,
Block, Plot, and Variety columns.
Each replicate has all treatments exactly once, partitioned into
s blocks of k plots.
Alpha designs can include repeated_controls controls
(0..6). Controls appear at the top of every block in every replicate,
ensuring they are “repeated” across the design.
For a given treatment count, several (s, k) combinations
may be feasible. Use propose_alpha_structures() to list
them:
propose_alpha_structures(24)
#> s k blocks_per_replicate plots_per_block min_treatments max_treatments
#> 1 6 4 6 4 24 36
#> 2 7 4 7 4 28 49
#> ...choose_design() is an alias for
propose_alpha_structures(), matching the upstream Python
API.
Each replicate of an alpha design is resolvable: every treatment
appears exactly once per replicate. The implementation enforces this by
using the Patterson-Williams cyclic interchanging on top of the Rep 1
base layout. The rotation tables (extracted from the original EDGAR
Alpha.xls) cover s values from 5 to 15.
Patterson, H.D. & Williams, E.R. (1976). A new class of resolvable incomplete block designs. Biometrika, 63(1), 83-92. doi:10.1093/biomet/63.1.83