1. Home
  2. AGNATURALBLOCK procedure


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


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


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 TREATMENTSROWS 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


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.



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.


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.


        '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,\ 
        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]\ 

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
        FIRSTPLOT=lowright; FILLMETHOD=rowserpentine] LEVELS=5;\ 

CAPTION 'Generate a design for 13 treatments in a 8 row by 6 column array.'
Updated on February 6, 2023

Was this article helpful?