本文概述
- 3个变量的交叉表
- 交叉列出4个变量
交叉表确定两个类别变量之间的关系。它使用两个或多个变量的所有可能组合来生成交叉表。
我们可以使用PROC FREQ和TABLES选项生成一个交叉表。
要生成单向频率表, 请使用TABLES语句。如果不使用TABLES语句, PROC FREQ将仅为数据集中存在的所有变量生成单向表。
TABLES语句中使用的变量可以是数字变量, 也可以是分类变量, 因为PROC FREQ认为所有变量都是分类变量。
句法:
PROC FREQ DATA = http://www.srcmini.com/dataset;
TABLES variable_1*Variable_2;
其中
PROC FREQ:这是用于查找频率的过程。
数据集:这是数据集的名称, 该变量将用于创建交叉表。
表格:用于创建交叉表。
Variable_1和Variable_2:这是需要计算其频率分布的变量的名称。
例:
假设, 我们需要在数据集中的汽车中找到每个汽车品牌下可用的汽车类型数量。 SAS HELP库中已提供数据集汽车。我们还需要发票的单个频率值, 马力, 长度, 重量以及品牌和类型变量中这些频率值的总和。
PROC SQL;
create table CARS1 asSELECT make, type, invoice, horsepower, length, weightFROM SASHELP.CARSWHERE make in ('Acura', 'BMW');
RUN;
proc FREQ data = http://www.srcmini.com/CARS1;
tables make*type;
run;
在SAS Studio中执行以上代码:
文章图片
输出
文章图片
正如我们在上面的输出中看到的那样, 已经使用发票, 频率, 功率, 长度, 重量及其总和的频率值生成了变量make和type的交叉表。
3个变量的交叉表 在三个变量的情况下, 我们可以将两个变量组成一个组, 然后将该组与第三个变量配对。
例子
在以下示例中, 我们将相对于汽车数据集的制造变量来查找模型和类型变量的频率。此外, 我们使用NOCOL, NOROW, NOFREQ和NOPERCENT选项忽略输出的总和和百分比值。我们可以将这些选项以不同的组合方式一起使用或独立使用。
PROC SQL;
create table CARS1 asSELECT make, type, model FROM SASHELP.CARS WHERE make in ('Audi', 'BMW');
RUN;
Proc freq data=http://www.srcmini.com/CARS1;
Tables make * type model / nocol norow nopercent;
Run;
在SAS Studio中执行以上代码:
文章图片
输出
基于类型的频率:
文章图片
频率依据型号:
文章图片
交叉列出4个变量 对于四个变量, 组合的总数为4, 并且组1中的每个变量与组2中的每个变量配对。
例:
在以下示例中, 我们将相对于汽车数据集的制造变量来查找模型和类型变量的频率。
在以下示例中, 我们将为变量制造商和模型找到汽车数据集的长度变量的频率。同样, 用于可变品牌和型号的可变马力频率。
PROC SQL;
create table CARS1 asSELECT make, model, length, horsepower FROM SASHELP.CARS WHERE make in ('Audi', 'BMW');
RUN;
Proc freq data=http://www.srcmini.com/CARS1;
tables (make model) * (length horsepower) / nocol norow nopercent;
run;
在SAS Studio中执行以上代码:
文章图片
输出
文章图片
【SAS中的交叉制表详细图解】从上面的输出中可以看到, 组合的总数为4, 并且组1中的每个变量已与组2中的每个变量配对。
推荐阅读
- SAS循环语句用法图解
- SAS条件语句用法详细图解
- SAS频率分布用法图解
- SAS数据集的用法详细图解
- 什么是SAS算术平均值(详细图解)
- SAS数组用法详细图解
- SAS-SQL详细操作图解
- SAS数据集的子设置详细图解
- SAS用法图解(无需下载和安装)