1. Home
2. APRODUCT procedure

# APRODUCT procedure

Forms a new experimental design from the product of two designs (R.W. Payne).

### Options

`PRINT` = string token Controls printing of the design (`design`); default `desi` Whether to analyse the design by `ANOVA` (`yes`, `no`); default `no` How to combine the designs (`cross`, `nest`); default `nest` Block formula for design 1 Treatment formula for design 1 Block formula for design 2 Treatment formula for design 2

### Description

`APRODUCT` forms an experimental design by taking the product of two other designs. The `METHOD` option controls whether the product is formed by nesting the second design within the first, or by crossing the two designs together. For example, suppose that the first design has a single factor `Units` in the block structure and a single treatment factor `A`, while the second design is a Latin square with block structure `Rows*Colums` and treatment factor `B`. If we nest the second design within the first, we would obtain a design with block structure `Units/(Rows*Columns)` in which each unit of the first design has been subdivided into a row by column array of subplots to contain a Latin square of the sort defined by the second design. Nesting is thus useful when you want to subdivide the units of a design and apply further treatments (in this case those defined by the factor `B`) to the resulting subplots. Similarly, if we cross the two designs, the new design will have a block structure of `Units*(Rows*Columns)`, or `Units*Rows*Columns`, in which we have duplicated the second design for every level of Units. Crossing is useful if you need to introduce a new blocking structure into an existing design. For example, the `Units` factor might represent different time periods or different locations in which the latin square design was to be used, and the factor `A` the different systematic conditions that might apply on each occasion.

With both nesting and crossing, the new design will contain a unit for every combination of the block factors in the two original designs, and so every combination of the treatment factors in the first design will occur with every combination of the treatment factors in the second design. The treatment structure is thus defined for the new design by crossing the treatment structures of the two original designs, to estimate all the original treatment terms and their interactions. So, in the example above, the treatment structure is defined to be `A*B`.

`APRODUCT` redefines the values of the factors as required for the new design, and executes `BLOCKSTRUCTURE` and `TREATMENTSTRUCTURE` directives with the new block and treatment formulae. The new formulae can then be accessed, outside the procedure, using the `GET` directive or procedure `ASTATUS`. The `PRINT` option can be set to `design` to print the new design, and the `ANALYSE` option can be set to `yes` to produce a skeleton analysis of variance from `ANOVA`. Options `BF1`, `TF1`, `BF2`, and `TF2` define the block structure and treatment structure of the first and then the second design.

Options: `PRINT`, `ANALYSE`, `METHOD`, `BF1`, `TF1`, `BF2`, `TF2`.

Parameters: none.

### Method

`APRODUCT` uses the standard Genstat manipulation directives such as `FCLASSIFICATION`, `CALCULATE` and `DUPLICATE`. Procedure `PDESIGN` is used to print the design.

### Action with `RESTRICT`

None of the factors must be restricted, and any existing restrictions will be cancelled.

Procedure: `AMERGE`.

Commands for: Design of experiments, Calculations and manipulation.

### Example

```CAPTION  'APRODUCT example',\
!t('Design 1 is a design with no blocking (the single',\
'block factor Rep merely identifies the different units),',\
'Design 2 is a Latin square with 4 rows and 4 columns.');\
STYLE=meta,plain
FACTOR   [VALUES=1...6; LEVELS=6] Rep
&        [VALUES=2(1...3); LEVELS=3] A
FACTOR   [NVALUES=16; LEVELS=4] Row,Column,B;\
VALUES=!(4(1...4)),!((1...4)4),!(1,2,3,4, 2,3,4,1, 3,4,1,2, 4,1,2,3)
APRODUCT [PRINT=design; ANALYSE=yes; METHOD=nest;\
BF1=Rep; TF1=A; BF2=Row*Column; TF2=B]
```
Updated on March 8, 2019