XCHART Statement: ANOM Procedure

Example 4.6 ANOM Charts Using LIMITS= Data Set

See ANMXEX4 in the SAS/QC Sample LibraryIn Example 4.5, statistics from a two-way ANOVA were passed to the ANOM procedure using options in order to compute the decision limits for the factor effects. This example shows how you can pass the statistics in a LIMITS= data set using the variables _MSE_ and _DFE_.

The GLM output in Output 4.5.1 provides the statistics. The following statements save the results from PROC GLM in the data sets `MyFit`, `MyMeans`, and `MyOverAll`:

```ods select FitStatistics ModelANOVA OverAllANOVA;
ods output FitStatistics = MyFit
ModelANOVA    = MyLimits
OverAllANOVA  = MyOverAll;

proc glm data=cleaning;
class position depth;
model concentration = position depth position*depth;
run;
```

The results of PROC GLM are identical to the results in Output 4.5.1.

The following statements create a LIMITS= data set to be used to create an ANOM chart for the effect of `Position`:

```data ANOMParms;
keep _var_ _group_ _alpha_ _mean_;
length _var_ _group_ \$ 14;
set MyFit (rename=(Dependent=_var_ DepMean  =_mean_));
_group_ = 'position';
_alpha_ = 0.05;
run;

data ANOMParms;
merge ANOMParms
MyLimits (where=(source='position')
keep = source DF);
_limitk_ = DF+1;
drop source DF;
merge MyOverAll (where=(source='Error')
keep = source df ms
rename=( df = _dfe_ ms = _mse_));
drop source;
merge MyOverAll (where=(source='Corrected Total')
keep = source DF);
_limitn_ = (DF+1)/_limitk_;
drop source DF;
run;
```

The data set `ANOMParms` contains a complete set of parameters, as shown in Output 4.6.1. Note these are the same values specified in the options for Example 4.5.

Output 4.6.1: Data Set `ANOMParms`

 Parameters for ANOM for Effect of Position

_var_ _group_ _mean_ _alpha_ _limitk_ _dfe_ _mse_ _limitn_
concentration position 13.53333 0.05 5 15 12.6000000 6

The following statements read the parameters in `ANOMParms` to create an ANOM chart for the effect of `position`:

```title "ANOM for Effect of Position";
proc anom data=cleaning limits=ANOMParms;
xchart concentration * position /outtable = postable;
label position      = 'Position'
concentration = 'Mean of Concentration';
run;
```

The chart produced is identical to the one in Output 4.5.2. Note that the procedure creates a TABLE= input data set `postable`. You can use `postable` to create a combined chart for the two factors `position` and `depth`.

You can create a LIMITS= data set `ANOMParmsB` for the factor `depth` by using the above code and substituting 'depth' for the `_group_` variable. You can use the OUTTABLE= statement to store the TABLE= input data set for `depth` as `deptable`. The resulting data set `ANOMParmsB` is shown in Output 4.6.2:

Output 4.6.2: Data Set `ANOMParmsB`

 ANOM for Effect of Position

Obs _var_ _group_ _mean_ _alpha_ _limitk_ _dfe_ _mse_ _limitn_
1 concentration depth 13.53333 0.05 3 15 12.6000000 10