PROC MEANS can create one or more
output data sets. The procedure does not print the output data set.
Use PROC PRINT, PROC REPORT, or another SAS reporting tool to display
the output data set.
Note: By default the statistics
in the output data set automatically inherit the analysis variable's
format and label. However, statistics computed for N, NMISS, SUMWGT,
USS, CSS, VAR, CV, T, PROBT, PRT,SKEWNESS, and KURTOSIS do not inherit
the analysis variable's format because this format can be invalid
for these statistics. Use the NOINHERIT option in the OUTPUT statement
to prevent the other statistics from inheriting the format and label
attributes.
The output data set
can contain these variables:
-
the variables specified in the
BY statement.
-
the variables specified in the
ID statement.
-
the variables specified in the
CLASS statement.
-
the variable _TYPE_ that contains
information about the class variables. By default _TYPE_ is a numeric
variable. If you specify CHARTYPE in the PROC statement, then _TYPE_
is a character variable. When you use more than 32 class variables,
_TYPE_ is automatically a character variable.
-
the variable _FREQ_ that contains
the number of observations that a given output level represents.
-
the variables requested in the
OUTPUT statement that contain the output statistics and extreme values.
-
the variable _STAT_ that contains
the names of the default statistics if you omit statistic keywords.
-
the variable _LEVEL_ if you specify
the LEVEL option.
-
the variable _WAY_ if you specify
the WAYS option.
The value of _TYPE_
indicates which combination of the class variables PROC MEANS uses
to compute the statistics. The character value of _TYPE_ is a series
of zeros and ones, where each value of one indicates an active class
variable in the type. For example, with three class variables, PROC
MEANS represents type 1 as 001, type 5 as 101, and so on.
Usually, the output
data set contains one observation per level per type. However, if
you omit statistical keywords in the OUTPUT statement, then the output
data set contains five observations per level (six if you specify
a WEIGHT variable). Therefore, the total number of observations in
the output data set is equal to the sum of the levels for all the
types that you request multiplied by 1, 5, or 6, whichever is applicable.
If you omit the CLASS
statement (_TYPE_= 0), then there is always exactly one level of output
per BY group. If you use a CLASS statement, then the number of levels
for each type that you request has an upper bound equal to the number
of observations in the input data set. By default, PROC MEANS generates
all possible types. In this case the total number of levels for each
BY group has an upper bound equal to
where
is the number of class variables and
is the number of observations for the given BY
group in the input data set and
is 1, 5, or 6.
PROC MEANS determines
the actual number of levels for a given type from the number of unique
combinations of each active class variable. A single level consists
of all input observations whose formatted class values match.
The following figure
shows the values of _TYPE_ and the number of observations in the data
set when you specify one, two, and three class variables.