AFCYCLIC procedure

Generates block and treatment factors for cyclic designs (R.W. Payne).


Option

PRINT = string
Whether to print the design (design); default * i.e. no printing


Parameters

INITIAL = variates or pointers
Defines one (variate) or more (pointer to variates) initial blocks for a treatment factor

INCREMENT = scalars or pointers
Defines the size of the successive increment (scalar) or increments (pointer to scalars) for each initial block

LEVELS = scalars or variates
Defines the levels of each treatment factor; this need not be specified if the factor has already been declared

SEED = scalar
Seed to be used to randomize each design, if required

TREATMENTS = factors
Specifies treatment factors

BLOCKS = factors
Specifies block factors

UNITS = factors
Specifies factors to index the units within each block


Description

The cyclic method is a powerful way of constructing incomplete block designs. In its simplest form, it starts with an initial block, containing some subset of the treatments. This subset is then represented by the ordinal number in the range 0...m-1 where m is the number of treatment levels. The second and subsequent blocks are then generated by successive addition modulo m of one to the numbers in the subset. Thus, for seven treatments (0...6) and an initial block (0,1,4), the subsequent blocks would contain treatments (1,2,5), (2,3,6), (3,4,0), (4,5,1), (5,6,2) and (6,0,3). As can be seen, if m is a prime number, m blocks are generated with each initial block. However, if m can be expressed as the product of other integers, shorter cycles can occur. For example, for m=8 and initial block (0,1,4,5), four blocks are generated altogether, the others being (1,2,5,6), (2,3,6,7) and (3,4,7,0). The procedure allows for all of this. It is also possible to have more than one initial block, and the increment need not be one.

   The INITIAL parameter specifies the initial blocks. If the design is to be generated from a single initial block, INITIAL should be set to a variate containing the levels corresponding to the treatments concerned; if there are several, the appropriate variates should be placed into a pointer. Similarly the INCREMENT parameter, which specifies the increment to be used, should be set to a scalar if the same increment is to be used for all the initial blocks, otherwise to a pointer of scalars. The levels of the treatment factor are specified by the LEVELS parameter and the SEED parameter allows the design to be randomized. As is customary in GenStat, if LEVELS is set to a scalar the levels are assumed to be represented by the integers 1 upwards, but LEVELS can be set to a variate to specify other numbers. LEVELS can be omitted if the TREATMENTS parameter is used to supply a factor to store the treatments, provided the levels of that factor have already been defined outside the procedure. The factors for blocks and units within blocks can be saved similarly by the BLOCKS and UNITS parameters respectively. The design can also be printed, by setting option PRINT=design.

   The properties of the cyclic designs that can be generated for any particular number of treatments or size of block varies according to the choice of initial block and increment. Tables showing the most efficient combinations have been presented for example by John, Wolock & David (1972), John (1981, 1987) and Lamacraft & Hall (1982).


Option: PRINT.

Parameters: INITIAL, INCREMENT, LEVELS, SEED, TREATMENTS, BLOCKS.


Method

The procedure generates the design using the standard GenStat directives for calculation and manipulation.


References

John, J.A., Wolock, F.W. & David, H.A. (1972). Cyclic Designs. National Bureau of Standards, Applied Mathematics Series 62.

John, J.A. (1981). Efficient cyclic designs. Journal of the Royal Statistical Society Series B, 43, 76-80.

John, J.A. (1987). Cyclic Designs. Chapman & Hall, London.

Lamacraft, R.R. & Hall, W.B. (1982). Tables of incomplete cyclic block designs: r=k. Australian Journal of Statistics, 24, 350-360.