SAS: PROC FREQ简介

作用

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 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过程;

SAS: PROC FREQ简介_第1张图片

 

示例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,示例如下:

SAS: PROC FREQ简介_第2张图片

上面例子中,tables指定了sex*age,它有两个变量sex和age,表示是2-way table,sex为行,age为列。 每个单元格中有4项数据,分别表示频数、总百分比、行百分比和列百分比。如果不想要这4项中的某些项,可以分别使用NOFREQ,NOPERCENT,NOWROW,NOCOL来去除。 比如不想输出行百分比和列百分比,则方法如下:

SAS: PROC FREQ简介_第3张图片

 

示例4:tables的list选项

可以使用list选项,改变输出格式,更易读。以示例3中的第一个程序为例子,使用list选项后的输出结果如下:

SAS: PROC FREQ简介_第4张图片

 

参照资料: 

SAS Certified Specialist Prep Guide

SAS帮助文档

你可能感兴趣的:(办公)