The COUNTREG Procedure

CLASS Statement

  • CLASS variable <options> …<variable <options>> </global-options>;

The CLASS statement names the classification variables that are used to group (classify) data in the analysis. Classification variables can be either character or numeric.

Class levels are determined from the formatted values of the CLASS variables. Thus, you can use formats to group values into levels. See the discussion of the FORMAT procedure in the SAS Language Reference: Dictionary for details. The CLASS statement must precede the MODEL statement.

Most options can be specified either as individual variable options or as global-options. You can specify options for each variable by enclosing the options in parentheses after the variable name. You can also specify global-options for the CLASS statement by placing them after a slash (/). Global-options are applied to all the variables that are specified in the CLASS statement. If you specify more than one CLASS statement, the global-options specified in any one CLASS statement apply to all CLASS statements. However, individual CLASS variable options override the global-options. You can specify the following values for either an option or a global-option:


treats missing values (., ._, .A, …, .Z for numeric variables and blanks for character variables) as valid values for the CLASS variable.


specifies the sort order for the levels of classification variables. This ordering determines which parameters in the model correspond to each level in the data, so the ORDER= option can be useful when you use the CONTRAST statement. By default, ORDER=FORMATTED. For ORDER=FORMATTED and ORDER=INTERNAL, the sort order is machine-dependent. When ORDER=FORMATTED is in effect for numeric variables for which you have supplied no explicit format, the levels are ordered by their internal values.

The following table shows how PROC COUNTREG interprets values of the ORDER= option.

Value of ORDER=

Levels Sorted By


Order of appearance in the input data set


External formatted values, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) values


Descending frequency count; levels with more observations come earlier in the order


Unformatted value

For more information about sort order, see the chapter on the SORT procedure in the Base SAS Procedures Guide and the discussion of BY-group processing in SAS Language Reference: Concepts.


specifies the parameterization method for the classification variable or variables. You can specify any of the keywords shown in the following table; by default, PARAM=GLM.

Design matrix columns are created from CLASS variables according to the corresponding coding schemes:

Value of PARAM=



Effect coding


Less-than-full-rank reference cell coding (this keyword can be used only in a global option)


Reference cell coding

All parameterizations are full rank, except for the GLM parameterization. The REF= option in the CLASS statement determines the reference level for effect and reference coding and for their orthogonal parameterizations. It also indirectly determines the reference level for a singular GLM parameterization through the order of levels.

REF=’level’ | keyword

specifies the reference level for PARAM= EFFECT, PARAM= REFERENCE, and their orthogonalizations. When PARAM= GLM, the REF= option specifies a level of the classification variable to be put at the end of the list of levels. This level thus corresponds to the reference level in the usual interpretation of the linear estimates with a singular parameterization.

For an individual variable REF= option (but not for a global REF= option), you can specify the level of the variable to use as the reference level. Specify the formatted value of the variable if a format is assigned. For a global or individual variable REF= option, you can use one of the following keywords. By default, REF=LAST.


designates the first-ordered level as reference.


designates the last-ordered level as reference.