SAS 中的交叉制表

2025年3月17日 | 阅读 3 分钟

在 SAS 中,交叉制表是最有用的分析工具之一。 它通过特定的统计过程来实现,以生成交叉表,也称为列联表。

交叉制表确定两个分类变量之间的关系。 它使用两个或更多变量的所有可能组合来生成交叉表。

我们可以使用PROC FREQ 以及TABLES 选项来生成交叉表。

要生成一到 n 路频率表,请使用 TABLES 语句。 如果不使用 TABLES 语句,PROC FREQ 将仅为数据集中存在的所有变量生成单向表。

TABLES 语句中使用的变量可以是数值变量或分类变量,因为 PROC FREQ 将所有变量都视为分类变量。

语法

其中,

PROC FREQ:这是用于查找频率的程序。

数据集:这是数据集的名称,将使用哪些变量来创建交叉表。

Tables:用于创建交叉表。

Variable_1 和 Variable_2:这些是要计算其频率分布的变量的名称。

示例

假设,我们需要在数据集cars中找到每个汽车品牌下可用的汽车类型数量。 数据集cars已经在 SAS HELP 库中可用。 我们还需要invoice、horsepower、length、weight的各个频率值,以及这些频率值在maketype变量上的总和。

在 SAS Studio 中执行上述代码

Cross Tabulation in SAS

输出

Cross Tabulation in SAS 1

从以上输出中可以看出,变量maketype的交叉制表已生成,其中包含invoice、horsepower、length、weight的频率值及其总和。

3 个变量的交叉制表

对于三个变量,我们可以将两个变量组合成一个组,然后将此组与第三个变量配对。

示例

在下面的示例中,我们将根据汽车数据集的make变量查找modeltype变量的频率。 此外,我们使用NOCOL、NOROW、NOFREQNOPERCENT选项来忽略输出中的总和和百分比值。 我们可以将这些选项以不同的组合一起使用或独立使用。

在 SAS studio 中执行上述代码

Cross Tabulation in SAS 2

输出

基于类型的频率

Cross Tabulation in SAS 3

基于模型的频率

Cross Tabulation in SAS 4

4 个变量的交叉制表

对于四个变量,组合总数为 4,第一组中的每个变量都与第二组中的每个变量配对。

示例

在下面的示例中,我们将根据汽车数据集的make变量查找modeltype变量的频率。

在下面的示例中,我们将为汽车数据集的变量length查找变量makemodel的频率。 类似地,变量horsepower的频率用于变量makemodel

在 SAS studio 中执行上述代码

Cross Tabulation in SAS 5

输出

Cross Tabulation in SAS 6

从以上输出中可以看出,组合总数为 4,第一组中的每个变量都与第二组中的每个变量配对。


下一主题#