Genstat has a comprehensive set of facilities for design of experiments. Collectively, these are known as the *Genstat Design System*. Many different design types are covered, each with a procedure that lets you view and choose from the available possibilities. Other procedure allow designs and data forms to be displayed. There is also a general procedure `DESIGN`

that can be used interactively to provide a single point of access to all the design types. `DESIGN`

and the `AG`

… procedures that it calls provide the Select Design facilities in Genstat *for Windows*, while the alternative Standard Design menu uses `AGHIERARCHICAL`

, `AGLATIN`

and `AGSQLATTICE`

to generate completely randomized designs, randomized blocks, Latin and Graeco-Latin squares, split-plots, strip-plots (or criss-cross designs) and lattices.

`DESIGN` |
provides a menu-driven interface for selecting and generating experimental designs |
---|---|

`AGALPHA` |
forms alpha designs for up to 100 treatments |

`AGBIB` |
generates balanced-incomplete-block designs |

`AGBOXBEHNKEN` |
generates Box-Behnken designs |

`AGCENTRALCOMPOSITE` |
generates central composite designs |

`AGCROSSOVERLATIN` |
generates Latin squares balanced for carry-over effects |

`AGCYCLIC` |
generates cyclic designs from standard generators |

`AGDESIGN` |
generates generally balanced designs – factorial designs with blocking, fractional factorial designs, Lattice squares etc. |

`AGFACTORIAL` |
generates minimum aberration complete and fractional factorial designs |

`AGFRACTION` |
generates fractional factorial designs |

`AGHIERARCHICAL` |
generates orthogonal hierarchical designs |

`AGLATIN` |
generates mutually orthogonal Latin squares |

`AGLOOP` |
generates loop designs e.g. for time-course microarray experiments |

`AGMAINEFFECT` |
generates designs to estimate main effects of two-level factors |

`AGNEIGHBOUR` |
generates neighbour-balanced designs |

`AGNONORTHOGONALDESIGN` |
generates non-orthogonal multi-stratum designs |

`AGSPACEFILLINGDESIGN` |
generates space filling designs |

`AGQLATIN` |
generates complete and quasi-complete Latin squares |

`AGREFERENCE` |
generates reference-level designs e.g. for microarray experiments |

`AGSEMILATIN` |
generates semi-Latin squares |

`AGSQLATTICE` |
generates square lattice and lattice square designs |

`PDESIGN` |
prints treatment combinations tabulated by the block factors |

`DDESIGN` |
plots the plan of a design |

`ADSPREADSHEET` |
puts the data and plan of an experimental design into Genstat spreadsheets |

There are also procedures that you can use to determine the sample size (i.e. replication) required for experiments that are to be analysed by analysis of variance, t-test or various non-parametric tests. You can also calculate the power (or probability of detection) for terms in analysis of variance or regression analyses.

`APOWER` |
calculates the power (probability of detection) for terms in an analysis of variance |
---|---|

`RPOWER` |
calculates the power (probability of detection) for regression models |

`VPOWER` |
uses a parametric bootstrap to estimate the power (probability of detection) for terms in a `REML` analysis |

`ASAMPLESIZE` |
finds the replication (sample size) to detect a treatment effect or contrast |

`VSAMPLESIZE` |
estimates the replication to detect a fixed term or contrast in a `REML` analysis, using parametric bootstrap |

`ADETECTION` |
calculates the minimum size of effect or contrast detectable in an analysis of variance |

`SBNTEST` |
calculates the sample size for binomial tests |

`SCORRELATION` |
calculates the sample size to detect specified correlations |

`SLCONCORDANCE` |
calculates the sample size for Lin’s concordance coefficient |

`SMANNWHITNEY` |
calculates the sample size for the Mann-Whitney test |

`SMCNEMAR` |
calculates the sample size for McNemar’s test |

`SPNTEST` |
calculates the sample size for a Poisson test |

`SPRECISION` |
calculates the sample size to obtain a specified precision |

`SSIGNTEST` |
calculates the sample size for a sign test |

`STTEST` |
calculates the sample size for t-tests, including equivalence tests and tests for non-inferiority |

`DSTTEST` |
plots power and significance for t-tests, including equivalence tests and tests for non-inferiority |

The Design System is based on a range of standard generators. Some of these, such as the Galois fields used to generate Latin squares, can be formed when required – and so there is no limitation on the available designs. Repertoires of others, such as design keys, are stored in backing-store files which are scanned by the design generation procedures to form menus listing the available possibilities. Algorithms are available to form generators for new designs, and these can then be added to the design files to become an integral part of the system. Other design utilities include procedures for combining simple designs into more complicated arrangements, for forming augmented designs, and for determining how many replicates are needed. There is also a directive for constructing response-surface designs. The relevant commands include the directives

`AFMINABERRATION` |
forms minimum aberration factorial or fractional-factorial designs |
---|---|

`AFRESPONSESURFACE` |
uses the BLKL algorithm to construct designs for estimating response surfaces |

`GENERATE` |
generates values of factors in systematic order or as defined by a design key, or forms values of pseudo-factors |

`RANDOMIZE` |
puts units of vectors into random order, or randomizes units of an experimental design |

`FKEY` |
forms design keys for multi-stratum experimental designs, enabling for confounding and aliasing of treatments |

`FPSEUDOFACTORS` |
determines patterns of confounding and aliasing from design keys, and extends the treatment formula to incorporate the necessary pseudo-factors |

`SET2FORMULA` |
forms a model formula using structures supplied in a pointer |

and the procedures

`AEFFICIENCY` |
calculates efficiency factors for experimental designs |
---|---|

`AFAUGMENTED` |
forms an augmented design |

`AFLABELS` |
forms a variate of unit labels for a design |

`AFUNITS` |
forms a factor to index the units of the final stratum of a design |

`AKEY` |
generates values for treatment factors using the design key method |

`AMERGE` |
merges extra units into an experimental design |

`AFNONLINEAR` |
forms D-optimal designs to estimate the parameters of a nonlinear or generalized linear model |

`AFPREP` |
searches for an efficient partially-replicated design |

`APRODUCT` |
forms a new experimental design from the product of two designs |

`ARANDOMIZE` |
randomizes and prints an experimental design |

`COVDESIGN` |
produces experimental designs efficient under analysis of covariance |

`FACCOMBINATIONS` |
forms a factor to indicate observations with identical combinations of values of a set of variates, texts or factors |

`FACDIVIDE` |
represents a factor by factorial combinations of a set of factors |

`FACPRODUCT` |
forms a factor with a level for every combination of other factors |

`FBASICCONTRASTS` |
forms the basic contrasts of a model term |

`FCOMPLEMENT` |
forms the complement of an incomplete block design |

`FDESIGNFILE` |
forms a backing-store file of information for `AGDESIGN` |

`FHADAMARDMATRIX` |
forms Hadamard matrices |

`FOCCURRENCES` |
forms a “concurrence” matrix recording how often each pair of treatments occurs in the same block of a design |

`FPROJECTIONMATRIX` |
forms a projection matrix for a set of model terms |

`XOEFFICIENCY` |
calculates the efficiency for estimating effects in cross-over designs |

`XOPOWER` |
estimates the power of contrasts in cross-over designs |