See FACTEXG1 in the SAS/QC Sample LibraryThis example introduces the basic syntax used with the FACTEX procedure.

An experimenter is interested in studying the effects of three factors—cutting speed (`Speed`

), feed rate (`FeedRate`

), and tool angle (`Angle`

)—on the surface finish of a metallic part and decides to run a complete factorial experiment with two levels for each factor
as follows:

Factor |
Low Level |
High Level |
---|---|---|

Cutting speed |
300 |
500 |

Feed rate |
20 |
30 |

Tool angle |
6 |
8 |

This is a factorial design—in other words, a complete factorial experiment with three factors, each at two levels. Hence there are eight runs in the experiment. Since complete factorial designs have full resolution, all of the main effects and interaction terms can be estimated. For a definition of the design resolution, see the section Resolution.

You can use the following statements to create the required design:

proc factex; factors Speed FeedRate Angle; examine design; run;

These statements invoke the FACTEX procedure, list factor names, and display the generated design points. By default, the FACTEX procedure assumes that the size of the design is a full factorial and that each factor has only two levels.

After you submit the preceding statements, you see the following messages in the SAS log:

NOTE: No design size specified. Default is a full replicate in 8 runs. NOTE: Design has 8 runs, full resolution.

The output is shown in Figure 7.1. The two factor levels are represented by the coded values –1 and +1.

Figure 7.1: Factorial Design

The FACTEX Procedure

Design Points | |||
---|---|---|---|

Experiment Number |
Speed | FeedRate | Angle |

1 | -1 | -1 | -1 |

2 | -1 | -1 | 1 |

3 | -1 | 1 | -1 |

4 | -1 | 1 | 1 |

5 | 1 | -1 | -1 |

6 | 1 | -1 | 1 |

7 | 1 | 1 | -1 |

8 | 1 | 1 | 1 |

If you prefer to work with the actual (decoded) values of the factors, you can specify these values in an OUTPUT OUT= statement, as follows:

proc factex; factors Speed FeedRate Angle; output out=SavedDesign Speed nvals=(300 500) FeedRate nvals=(20 30) Angle nvals=(6 8); run; proc print; run;

The OUTPUT statement in PROC FACTEX recodes the factor levels and saves the constructed design in the `SavedDesign`

data set. Since the levels in this example are of numeric type, you use the NVALS= option to list the factor levels. Optionally,
you can use the CVALS= option for levels of character type (see the section Example of a Full Factorial Design in Two Blocks). The design is saved in a user-specified output data set (`SavedDesign`

). This is verified by the following message in the SAS log:

NOTE: The data set WORK.SAVEDDESIGN has 8 observations and 3 variables.

Figure 7.2 shows a listing of the data set `SavedDesign`

.

Figure 7.2: Factorial Design after Decoding

Obs | Speed | FeedRate | Angle |
---|---|---|---|

1 | 300 | 20 | 6 |

2 | 300 | 20 | 8 |

3 | 300 | 30 | 6 |

4 | 300 | 30 | 8 |

5 | 500 | 20 | 6 |

6 | 500 | 20 | 8 |

7 | 500 | 30 | 6 |

8 | 500 | 30 | 8 |

Although small complete factorial designs are not difficult to create manually, you can easily extend this example to construct a design with many factors.