The GVARCLUS Procedure

Example 12.2 Output a Covariance Matrix to a SAS Data File

This example shows how to output a covariance matrix to a SAS data file. The OUTCP= option creates an output data table named mycas.cov.

The following DATA step generates a data table that has 2,000 observations and contains both interval variables (x1–x2) and nominal variables (a, c1, and c2):

data mycas.data1;
    array x{2};
    array c{2};
    do i=1 to 2000;
        a=int(ranuni(1)*2);
        do j=1 to 2;
            x{j}=ranuni(1);
            c{j}=int(ranuni(1)*2);
       end;
       output;
    end;
run;

These statements assume that your CAS engine libref is named mycas, but you can substitute any appropriately defined CAS engine libref.

The following statements invoke the GVARCLUS procedure:

 title  "Output the Covariance Matrix";

 proc gvarclus data=mycas.data1 maxiter=4 outcp=mycas.cov;
     input c1 c2 /level=nominal;
     input x1 x2 /level=interval;
 run;

 proc print data=mycas.cov;
 run;

Output 12.2.1 shows the content of the data file that PROC GVARCLUS generates.

Output 12.2.1: Output the Covariance Matrix

Output the Covariance Matrix

Obs_ID__TYPE__VAR__vID_v1v2v3v4v5v6
11MEAN/FREQ  0.500.50999.001001.00975.001025.00
22N  2000.002000.002000.002000.002000.002000.00
33COVx1v1165.55-1.490.32-0.325.24-5.24
44COVx2v2-1.49166.411.31-1.311.32-1.32
55COVc1 0v30.321.31500.00-500.002.99-2.99
66COVc1 1v4-0.32-1.31-500.00500.00-2.992.99
77COVc2 0v55.241.322.99-2.99499.69-499.69
88COVc2 1v6-5.24-1.32-2.992.99-499.69499.69


The _VAR_ column displays the names of all variables and the levels of the nominal variables. Assuming that you have n effects (the total number of interval variables and the levels of categorical variables), the _vID_ column contains n markers, v1 to vn, where vi denotes the ith effect. The column _TYPE_ defines the role of each row. When the _TYPE_ column displays MEAN/FREQ, the corresponding row contains either the mean for an interval variable or the frequency for a level of a nominal variable. When the _TYPE_ column displays N, the corresponding row contains the number of samples. And when the _TYPE_ column displays COV, the corresponding row contains a row of the covariance matrix. In this example, the covariance matrix is 4 times 4, and it resides in the table in rows 3–6 and columns 7–10.

Last updated: October 14, 2021