
- SAS 教程
- SAS - 首頁
- SAS - 概述
- SAS - 環境
- SAS - 使用者介面
- SAS - 程式結構
- SAS - 基本語法
- SAS - 資料集
- SAS - 變數
- SAS - 字串
- SAS - 陣列
- SAS - 數值格式
- SAS - 運算子
- SAS - 迴圈
- SAS - 決策
- SAS - 函式
- SAS - 輸入方法
- SAS - 宏
- SAS - 日期和時間
- SAS 資料集操作
- SAS - 讀取原始資料
- SAS - 寫入資料集
- SAS - 合併資料集
- SAS - 合併資料集
- SAS - 子集資料集
- SAS - 排序資料集
- SAS - 格式化資料集
- SAS - SQL
- SAS - 輸出交付系統
- SAS - 模擬
- SAS 基本統計過程
- SAS - 算術平均數
- SAS - 標準差
- SAS - 頻數分佈
- SAS - 交叉表
- SAS - T 檢驗
- SAS - 相關分析
- SAS - 線性迴歸
- SAS - Bland-Altman 分析
- SAS - 卡方檢驗
- SAS - Fisher 精確檢驗
- SAS - 重複測量分析
- SAS - 單因素方差分析
- SAS - 假設檢驗
- SAS 有用資源
- SAS - 快速指南
- SAS - 有用資源
- SAS - 問答
- SAS - 討論
SAS - 交叉表
交叉表涉及使用兩個或多個變數的所有可能組合生成交叉表,也稱為列聯表。在 SAS 中,它是使用PROC FREQ以及TABLES選項建立的。例如 - 如果我們需要每個汽車型別類別中每個品牌的每個型號的頻率,那麼我們需要使用 PROC FREQ 的 TABLES 選項。
語法
在 SAS 中應用交叉表的語法如下:
PROC FREQ DATA = dataset; TABLES variable_1*Variable_2;
以下是所用引數的說明:
資料集是資料集的名稱。
變數_1 和變數_2是需要計算其頻率分佈的資料集的變數名稱。
示例
考慮查詢從資料集 cars1(從SASHELP.CARS建立,如下所示)中每個汽車品牌下有多少種汽車型別的情況。在這種情況下,我們需要單個頻率值以及跨品牌和跨型別的頻率值之和。我們可以觀察到結果顯示了跨行和跨列的值。
PROC SQL; create table CARS1 as SELECT make, type, invoice, horsepower, length, weight FROM SASHELP.CARS WHERE make in ('Audi','BMW') ; RUN; proc FREQ data = CARS1; tables make*type; run;
執行上述程式碼後,我們得到以下結果:
三個變數的交叉表
當我們有三個變數時,我們可以將其中兩個分組,並將這兩個變數中的每一個與第三個變數交叉表。因此,在結果中我們有兩個交叉表。
示例
在下面的示例中,我們找到每種汽車型別和每種汽車型號相對於汽車品牌的頻率。我們還使用 nocol 和 norow 選項來避免總和和百分比值。
proc FREQ data = CARS2 ; tables make * (type model) / nocol norow nopercent; run;
執行上述程式碼後,我們得到以下結果:
四個變數的交叉表
對於 4 個變數,配對組合的數量增加到 4。組 1 中的每個變數都與組 2 中的每個變數配對。
示例
在下面的示例中,我們找到每種品牌和每種型號的汽車長度的頻率。同樣地,每種品牌和每種型號的馬力的頻率。
proc FREQ data = CARS2 ; tables (make model) * (length horsepower) / nocol norow nopercent; run;
執行上述程式碼後,我們得到以下結果:
廣告