Chapter Contents |
Previous |
Next |
Details of the FACTEX Procedure |
See FACTEX7B in the SAS/QC Sample Library |
Several important series of balanced incomplete block designs can be derived from orthogonal factorial designs. One is the series on balanced lattice of Yates (1936); refer to page 396 of Cochran and Cox (1957). In this situation, the number of treatments v must be the square of a power of a prime number: v = q2, q = pk where p is a prime number. These designs are based on a complete set of q-1 mutually orthogonal q×q Latin squares, which is equivalent to a resolution 3 design for q+1 q-level factors in q2 runs.
The balanced lattice designs include q+1 replicates of the treatments. They are constructed by associating each treatment with a run in the factorial design, each replicate with one of the factors, and each block with one of the q values of that factor. For example, the treatments in Block 3 within Replicate 2 are those treatments that are associated with runs for which factor 2 is set at value 3. The following statements use this method to construct a balanced lattice design for 16 treatments in five replicates of four blocks each. The construction procedure is based on a resolution 3 design for five four-level factors in 16 runs.
proc factex; factors x1-x5 / nlev=4; size design=16; model r=3; output out=a; run;
In the following DATA step, the incomplete block design is built using the design saved in the data set A by the FACTEX procedure:
data b; keep rep block plot t; array x{5} x1-x5; do rep = 1 to 5; do block = 1 to 4; plot = 0; do n = 1 to 16; set a point=n; if (x{rep}=block-1) then do; t = n; plot = plot + 1; output; end; end; end; end; stop; run;
For each block within each replicate, the program loops through the run numbers in the factorial design and chooses those which have the REPth factor equal to BLOCK-1. These run numbers are the treatments that go into the particular block.
The design is printed using a DATA step. Each block of each replicate is built into the variables S1, S2, S3, and S4, and each block is printed with a PUT statement.
data _null_; array s{4} s1-s4; /* Buffer for holding each block */ file print; /* Direct printing to output screen */ n = 1; do r = 1 to 5; put "Replication " r 1.0 ":"; do b = 1 to 4; do p = 1 to 4; set b point=n; s{plot} = t; n = n+1; end; put " Block " b 1.0 ":" (s1-s4) (3.0); end; put; end; stop; run;The design is displayed in Output 15.13.1.
You can use the PLAN procedure to randomize the block design, as shown by the following statements:
proc plan seed=54321; factors rep=5 block=4 plot=4; output data=b out=c; proc sort; by rep block plot; run;
The variable PLOT indexes the plots within each block. Refer to the SAS/STAT User's Guide for a general discussion of randomizing block designs.
Finally, substitute
set c
for
set b
in the preceding DATA step.
Running this DATA step creates the randomized design displayed
in
Output 15.13.2.
Replication 1: Block 1: 1 2 3 4 Block 2: 5 6 7 8 Block 3: 9 10 11 12 Block 4: 13 14 15 16 Replication 2: Block 1: 1 5 9 13 Block 2: 2 6 10 14 Block 3: 3 7 11 15 Block 4: 4 8 12 16 Replication 3: Block 1: 1 6 11 16 Block 2: 3 8 9 14 Block 3: 4 7 10 13 Block 4: 2 5 12 15 Replication 4: Block 1: 1 8 10 15 Block 2: 3 6 12 13 Block 3: 4 5 11 14 Block 4: 2 7 9 16 Replication 5: Block 1: 1 7 12 14 Block 2: 3 5 10 16 Block 3: 4 6 9 15 Block 4: 2 8 11 13 |
Replication 1: Block 1: 15 5 2 12 Block 2: 3 8 9 14 Block 3: 16 1 11 6 Block 4: 7 10 13 4 Replication 2: Block 1: 2 4 3 1 Block 2: 5 7 8 6 Block 3: 9 11 10 12 Block 4: 15 16 13 14 Replication 3: Block 1: 2 13 8 11 Block 2: 14 12 7 1 Block 3: 15 4 9 6 Block 4: 5 16 3 10 Replication 4: Block 1: 13 1 5 9 Block 2: 14 2 10 6 Block 3: 11 15 3 7 Block 4: 16 12 4 8 Replication 5: Block 1: 2 16 7 9 Block 2: 15 10 8 1 Block 3: 3 12 6 13 Block 4: 5 11 14 4 |
Chapter Contents |
Previous |
Next |
Top |
Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.