本文概述
在SAS中, 交叉列表是最有用的分析工具之一。它是通过特定的统计程序实现的, 以生成交叉表, 也称为列联表。
交叉表确定两个类别变量之间的关系。它使用两个或多个变量的所有可能组合来生成交叉表。
我们可以使用PROC FREQ和TABLES选项生成一个交叉表。
要生成单向频率表, 请使用TABLES语句。如果不使用TABLES语句, PROC FREQ将仅为数据集中存在的所有变量生成单向表。
TABLES语句中使用的变量可以是数字变量, 也可以是分类变量, 因为PROC FREQ认为所有变量都是分类变量。
句法:
PROC FREQ DATA = dataset;
TABLES variable_1*Variable_2;
其中
PROC FREQ:这是用于查找频率的过程。
数据集:这是数据集的名称, 该变量将用于创建交叉表。
表格:用于创建交叉表。
Variable_1和Variable_2:这是需要计算其频率分布的变量的名称。
例:
假设, 我们需要在数据集中的汽车中找到每个汽车品牌下可用的汽车类型数量。 SAS HELP库中已提供数据集汽车。我们还需要发票的单个频率值, 马力, 长度, 重量以及品牌和类型变量中这些频率值的总和。
PROC SQL;
create table CARS1 as
SELECT make, type, invoice, horsepower, length, weight
FROM
SASHELP.CARS
WHERE make in ('Acura', 'BMW')
;
RUN;
proc FREQ data = CARS1;
tables make*type;
run;
在SAS Studio中执行以上代码:
输出
正如我们在上面的输出中看到的那样, 已经使用发票, 频率, 功率, 长度, 重量及其总和的频率值生成了变量make和type的交叉表。
3个变量的交叉表
在三个变量的情况下, 我们可以将两个变量组成一个组, 然后将该组与第三个变量配对。
例子
在以下示例中, 我们将相对于汽车数据集的制造变量来查找模型和类型变量的频率。此外, 我们使用NOCOL, NOROW, NOFREQ和NOPERCENT选项忽略输出的总和和百分比值。我们可以将这些选项以不同的组合方式一起使用或独立使用。
PROC SQL;
create table CARS1 as
SELECT make, type, model
FROM
SASHELP.CARS
WHERE make in ('Audi', 'BMW')
;
RUN;
Proc freq data=CARS1;
Tables make * type model / nocol norow nopercent;
Run;
在SAS Studio中执行以上代码:
输出
基于类型的频率:
频率依据型号:
交叉列出4个变量
对于四个变量, 组合的总数为4, 并且组1中的每个变量与组2中的每个变量配对。
例:
在以下示例中, 我们将相对于汽车数据集的制造变量来查找模型和类型变量的频率。
在以下示例中, 我们将为变量制造商和模型找到汽车数据集的长度变量的频率。同样, 用于可变品牌和型号的可变马力频率。
PROC SQL;
create table CARS1 as
SELECT make, model, length, horsepower
FROM
SASHELP.CARS
WHERE make in ('Audi', 'BMW')
;
RUN;
Proc freq data=CARS1;
tables (make model) * (length horsepower) / nocol norow nopercent;
run;
在SAS Studio中执行以上代码:
输出
从上面的输出中可以看到, 组合的总数为4, 并且组1中的每个变量已与组2中的每个变量配对。
评论前必须登录!
注册