📅  最后修改于: 2021-01-08 14:32:34             🧑  作者: Mango
SAS频率分布是SAS编程中最常用的统计过程。
描述性统计量(例如均值和标准差)可用于连续变量来汇总数据,但是对于分类变量,描述性统计量不合适。
我们可以通过使用频率表来汇总分类变量,但是在继续之前,让我们首先了解分类变量。
纯粹的分类变量是允许我们分配类别,但又不允许它们按特定顺序排列的变量。换句话说,分类变量是具有两个或多个类别的变量,但是这些类别没有序列。
例如,性别是一个分类变量,它具有两个类别,即男性和女性,但两个类别都没有序列。另一个例子是头发的颜色,它也被认为是一个分类变量,因为它又具有多个类别,即黑色,棕色,深色,红色等。我们没有顺序可以对其进行排列。
频率表显示针对每个变量类别观察到的病例数和百分比。
频率表中的每个条目都包含特定间隔内值出现的次数。
现在,让我们发现如何以SAS编程语言实现频率分配操作。
我们可以使用PROC FREQ程序来计算变量观测值的频率分布。
句法:
PROC FREQ DATA = Dataset;
TABLES Variable1;
BY Variable2;
哪里,
PROC FREQ的主要目的是我们可以计算任何用户定义的或已经可用的或SAS内置帮助库数据集的频率。为了计算频率分布,我们只需要指定数据集的名称即可。
例
Proc freq data=SASHelp.airline;
Run;
在SAS Studio中执行以下代码:
输出:
可以使用PROC FREQ过程确定单个变量的频率分布。实施PROC FREQ程序后,结果将显示每个包含的变量观测值的频率。它还将显示百分比分布,累积频率和累积百分比。
在此示例中,我们将为数据集CARS1计算变量“马力”的频率分布,该数据集是根据SAS帮助库的现有数据集CARS创建的。
PROC SQL;
create table CARS1 as
SELECT model, make, type, invoice, horsepower, length, weight
FROM
SASHELP.CARS
WHERE make in ('Audi','BMW')
;
RUN;
proc FREQ data = CARS1 ;
tables horsepower;
by make;
run;
在SAS Studio中执行以下代码:
输出:
可以使用PROC FREQ过程确定多个变量的频率分布。实施PROC FREQ程序后,结果将显示每个包含的所有变量观测值的频率。它还将显示所有变量的百分比分布,累积频率和累积百分比。让我们通过一个示例来了解此过程的实现。
在此示例中,我们将计算两个变量的频率分布,第一个变量是make ,另一个变量是type 。这两个变量都属于数据集CARS1,该数据集是根据SAS帮助库的现有数据集CARS创建的。
proc FREQ data = CARS1 ;
tables make type;
run;
在SAS Studio中执行以下代码:
输出:
在频率分布中,权重选项用于使用变量的权重来计算偏差的频率分布。
在下面的示例中,我们将使用以马力分配的权重来计算变量make和type的频率分布。让我们通过代码来理解:
proc FREQ data = SASHELP.cars;
tables make type;
weight horsepower;
run;
当我们在SAS Studio中执行上述代码时,我们将获得以下输出: