Forms 1- and 2-dimensional designs with blocks of natural size (P.D. Johnstone & D.B. Baird).

### Options

`PRINT` = string token |
Controls printed output (`design` , `search` ); default `desi` |
---|---|

`DESIGNTYPE` = string token |
Type of design to create (`block` , `rowcolumn` ); default `rowc` |

`NSIMULATIONS` = scalar |
Number of randomizations to search to find the best design; default 1000 |

`SEED` = scalar |
Seed for the randomization; default 0 |

`FIRSTPLOT` = string token |
Defines the starting location for allocating plots to the row-by-column grid (`lowleft` , `lowright` , `upleft` , `upright` ); default `uple` |

`FILLMETHOD` = string token |
Defines the order in which the plots are filled (`colserpentine` , `colbycol` , `rowserpentine` , `rowbyrow` ); default `rows` |

### Parameters

`LEVELS` = scalars or variates |
Defines the levels of the treatment factor for each design |
---|---|

`NROWS` = scalars |
Number of rows in the smallest rectangle containing the layout of each design; not required if the `ROWS` parameter is set to a factor with levels defined |

`NCOLUMNS` = scalars |
Number of columns in the smallest rectangle containing the layout of each design; not required if the `COLUMNS` parameter is set to a factor with levels defined |

`NUNITS` = scalar |
Number of plots that will be assigned a treatment in each design; not required if any of the `TREATMENTS` , `ROWS` or `COLUMNS` parameter are set to a factor with values |

`TREATMENTS` = factors |
Saves the treatment allocation for each design |

`ROWS` = factors |
Defines or saves the row locations of the plots to receive treatments in each design |

`COLUMNS` = factors |
Defines or saves the column locations of the plots to receive treatments in each design |

`BLOCKS` = factors |
Defines or saves the allocation of the plots to blocks |

`PLAN` = matrices |
Saves the treatment layout in each design |

### Description

This procedure uses random generation for obtaining block and row-column designs and selects the best of those designs using a criterion similar in effect to the M,S-optimality criterion of Shah (1960). Unlike some other design generators, this generator has no restrictions on the layout of plots in the array (which can be incomplete), nor on the replicates per treatment (which may be unequal).

The number of treatments can be defined by the `LEVELS`

parameter, as either a scalar or a variate, as in the `FACTOR`

directive. Alternatively, you can set the `TREATMENTS`

option to a factor whose levels have already been defined. You can also use the `TREATMENTS`

option to request unequally replicated treatments, by specifying a factor whose values have been defined with the desired replications. For example:

`FACTOR [LEVELS=3] Trt; VALUES=!(6(1),3(2,3),4(4))`

The `DESIGNTYPE`

option specifies whether to form a row-column or a block design. With a row-column design (`DESIGNTYPE=rowcolumn`

), the layout of the plots can be defined in two factors supplied by the `ROWS`

and `COLUMNS`

parameters. If the `ROWS`

or `COLUMNS`

options are set to factors whose values have not been defined, their levels will be set up to define a regular grid of plots. Alternatively, if `ROWS`

and `COLUMNS`

have no levels defined, the numbers of rows and columns can be specified by the `NROWS`

and `NCOLUMNS`

parameters. The `NUNITS`

parameter defines the number of plots in the design. If this is not specified, the number of plots for the treatments is defined by the number of values in `ROWS`

or `COLUMNS`

, if available, or alternatively as `NROWS × NCOLUMNS`

. Thus, you need to specify `NUNITS`

only if you are not using the full grid of `NROWS × NCOLUMNS`

values, or if you wish to limit the units used in `ROWS`

and `COLUMNS`

.

For a one-way block design (`DESIGNTYPE=block`

) with unequal block sizes, the `BLOCKS`

parameter must be set to a factor giving the block number for each plot. The block design can allocated to a two dimensional layout by specifying the position of each unit in two factors supplied by the `ROWS`

and `COLUMNS`

parameters. Alternatively, you can specifying the size of the grid with the `NROWS`

and `NCOLUMNS`

parameters, in which case the `LAYOUT`

option is used to allocate units to the grid. Again, if the `ROWS`

or `COLUMNS`

option is set to a factors whose values have not been defined, the factor values will be set up to define a regular grid of plots. With a block design, if `NUNITS`

is unset, the number of plots is taken from the number of values of the `BLOCKS`

factor. The `FIRSTPLOT`

and `FILLMETHOD`

options control how the plots are allocated to the row and column locations when these are not defined by `ROWS`

and `COLUMNS`

factors. The `FIRSTPLOT`

option defines the starting location as follows:

`lowleft` |
left-hand plot at the bottom of the grid; |
---|---|

`lowright` |
right-hand plot at the bottom of the grid; |

`upleft` |
left-hand plot at the top of the grid (default); |

`upright` |
right-hand plot at the top of the grid. |

The `FILLMETHOD`

option defines the order in which the plots are then filled:

`colserpentine` |
column-by-column in a serpentine way e.g. top-to-bottom, and then bottom to top; |
---|---|

`colbycol` |
column-by-column taking the same direction for every column; |

`rowserpentine` |
in a serpentine way e.g. left-to-right, and then right-to-left (default); |

`rowbyrow` |
row-by-row taking the same direction for every row. |

The `NSIMULATIONS`

option defines the number of random designs to be searched. The `SEED`

option specifies the starting seed for the randomization process; the default of zero continues an existing sequence of random numbers if any have already been used in this Genstat job, or initializes the seed automatically. The resulting optimal treatment allocation can be saved, either in a factor specified by the `TREATMENTS`

parameter, or by setting the `PLAN`

parameter to a matrix to save the two-dimensional layout of the treatments. If the value of the `ROWS`

and `COLUMNS`

factors have not already been defined, these will be defined by the procedure.

Printed output is controlled by the `PRINT`

option, with settings:

`design` |
to print the best design; |
---|---|

`search` |
to print the current best design during the search. |

Options: `PRINT`

, `DESIGN`

, `NSIMULATIONS`

, `SEED`

, `FIRSTPLOT`

, `FILLMETHOD`

.

Parameters: `LEVELS`

, `NROWS`

, `NCOLUMNS`

, `NUNITS`

, `TREATMENTS`

, `ROWS`

, `COLUMNS`

, `BLOCKS`

, `PLAN`

.

### Method

For a row-column design the treatments are allocated in random order down the columns, while for a block design they are allocated one replicate at a time. A number of designs (specified by the `NSIMULATIONS`

option) are generated. The design is chosen that minimizes both the range and the average of the standard errors of differences for all pairwise comparisons between elements of the generalized least squares estimates of treatment effects.

### Action with `RESTRICT`

If any of the factors is restricted, only the part of the design not excluded by the restriction will be generated.

### References

Johnstone, P.D. (2003). Random generation and selection of one- and two-dimensional designs for experiments on blocks of natural size. *Journal of Agricultural, Biological and Environmental Statistics*, 8, 67-74.

Shah, K.R. (1960). Optimality criteria for incomplete block designs. *Annals of Mathematical Statistics*, 22, 235-247.

### See also

Commands for: Design of experiments.

### Example

CAPTION 'AGNATURALBLOCK example',!t(\ 'Generate a design for 8 treatments in an incomplete',\ '16 row by 11 column array.'); STYLE=meta,plain FACTOR [LEVELS=16; VALUES=1,3,4...9,11,12...14,16,\ 1,2...5,7,8...16,1,2...11,13,14...15,1,2...15,\ 1,2...15,1,2...11,1,2...7,9,10...14,1,2...7,9,\ 10...14,1,2...3,5,6,8,9...13,1,3,4...13,1,2...8,\ 10,11...13] Row1 FACTOR [LEVELS=11; VALUES=13(1),15(2),14(3),15(4,5),11(6),\ 13(7,8),11(9),12(10,11)] Col1 AGNATURALBLOCK [PRINT=search; DESIGNTYPE=rowcolumn; SEED=234567]\ LEVELS=8; TREATMENT=Trt1; ROWS=Row1; COLUMNS=Col1 PRINT Row1,Col1,Trt1; FIELDWIDTH=5; DECIMALS=0 CAPTION !t('Generate a design for 5 treatments with blocks of',\ 'size 3, 6 and 4, and allocate the treatments to a 3 x 5',\ 'layout, starting in the top left corner, running across',\ 'rows in a serpentine manner (i.e. at the end of the first',\ 'row, drop directly down to the plot in the row below and',\ 'work back to the start of the row, etc.') FACTOR [LEVELS=4; VALUES=3(1),6(2),2(3),4(4)] Block AGNATURALBLOCK [PRINT=design; DESIGNTYPE=block; SEED=7856;\ FIRSTPLOT=lowright; FILLMETHOD=rowserpentine] LEVELS=5;\ TREATMENT=Trt2; BLOCK=Block; NROWS=3; NCOLUMNS=5 PRINT Block,Trt2; FIELDWIDTH=5; DECIMALS=0 CAPTION 'Generate a design for 13 treatments in a 8 row by 6 column array.' AGNATURALBLOCK [NSIMULATIONS=500] LEVELS=13; NROWS=8; NCOLUMNS=6;\ TREATMENT=Trt3