Sas 简明教程

SAS - Frequency Distributions

频数分布是一个表,其中显示了数据集中的数据点的频数。表中的每个条目均包含某个特定群组或区间中的值出现的频数或计数,并且以这种方式,该表总结了样本中的值分布。

SAS 提供了一个名为 PROC FREQ 的步骤来计算数据集中的数据点的频数分布。

Syntax

在 SAS 中计算频数分布的基本语法如下:

PROC FREQ DATA = Dataset ;
TABLES Variable_1 ;
BY Variable_2 ;

以下是所用参数的描述 -

  1. Dataset 是数据集的名称。

  2. Variables_1 是其频数分布需要计算的数据集的变量名称。

  3. Variables_2 是对频数分布结果进行分类的变量。

Single Variable Frequency Distribution

我们可以使用 PROC FREQ. 确定单个变量的频数分布。在这种情况下,结果将显示变量的每个值的频数。结果还显示百分比分布、累积频数和累积百分比。

Example

在以下示例中,我们找到名为 CARS1 的数据集的马力变量的频数分布,该数据集是从库 SASHELP.CARS. 创建的。我们可以看到结果划分为两类。一类是汽车的每个品牌。

PROC SQL;
create table CARS1 as
SELECT make, model, type, invoice, horsepower, length, weight
   FROM
   SASHELP.CARS
   WHERE make in ('Audi','BMW')
;
RUN;

proc FREQ data = CARS1 ;
tables horsepower;
by make;
run;

在执行以上代码后,我们将得到以下结果:

FREQ By2

Multiple Variable Frequency Distribution

我们可以找到将它们分组为所有可能组合的多个变量的频数分布。

Example

在以下示例中,我们计算汽车品牌的频数分布 grouped by car type 和每种汽车类型的频数分布 grouped by each make.

proc FREQ data = CARS1 ;
tables make type;
run;

在执行以上代码后,我们将得到以下结果:

FREQ tables1

Frequency Distribution with Weight

使用 weight 选项,我们可以计算根据变量权重有偏差的频数分布。此处将变量的值视为观测数量,而不是值的计数。

Example

在以下示例中,我们计算变量品牌和类型在权重分配给马力的频数分布。

proc FREQ data = CARS1 ;
tables make type;
weight horsepower;
run;

在执行以上代码后,我们将得到以下结果:

FREQ tables3