The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Alpha designs and structure proposal

Background

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.

Generating an alpha design

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.

Repeated controls

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.

res <- design_alpha(
  treatment_count = 24,
  reps = 2,
  blocks_per_replicate = 6,
  repeated_controls = 2,
  seed = 100
)
df <- as.data.frame(res)
unique(df$Variety)  # contains C1, C2 plus the 24 numbered treatments

Proposing alpha structures

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.

Resolvability

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.

Reference

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

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.