作用
The FREQ procedure produces one-way to n-way frequency and contingency (crosstabulation) tables
语法
PROC FREQ语法如下
The following statements are available in the FREQ procedure:
-
PROC FREQ < options > ;
-
BY variables;
-
EXACT statistic-options < / computation-options > ;
-
OUTPUT <OUT=SAS-data-set > output-options;
-
TABLES requests < / options > ;
-
TEST options;
-
WEIGHT variable < / option > ;
The PROC FREQ statement is the only required statement for the FREQ procedure. If you specify the following statements, PROC FREQ produces a one-way frequency table for each variable in the most recently created data set.
示例
基础数据为sashelp.class
示例1:
最简单的语法只需要PROC FREQ; 它为每个变量的每个值计算频数等信息,每个变量输出一个单独的表,下面的例子中,我们从sashelp.class中抽取了两个变量sex和age,生成了新的数据集tmp,然后使用PROC FREQ过程;
示例2. 使用tables选项指定变量
默认是为表中的每个变量生成一张表,可以使用 tables指定只为部分变量生成表,示例如下:
proc freq data=sashelp.class;
tables sex age;
run;
上面代码产生的输出和示例1的输出是完全一样的,它为sex和Age各生成一张表。
示例3:生成 Two-way tables
示例1和示例2生成的都是One-way tables。实际上FREQ还可以生成n-way tables,示例如下:
上面例子中,tables指定了sex*age,它有两个变量sex和age,表示是2-way table,sex为行,age为列。 每个单元格中有4项数据,分别表示频数、总百分比、行百分比和列百分比。如果不想要这4项中的某些项,可以分别使用NOFREQ,NOPERCENT,NOWROW,NOCOL来去除。 比如不想输出行百分比和列百分比,则方法如下:
示例4:tables的list选项
可以使用list选项,改变输出格式,更易读。以示例3中的第一个程序为例子,使用list选项后的输出结果如下:
参照资料:
SAS Certified Specialist Prep Guide
SAS帮助文档