SAS - Các bảng kết hợp chéo

Lập bảng chéo liên quan đến việc tạo ra các bảng chéo còn được gọi là bảng ngẫu nhiên sử dụng tất cả các kết hợp có thể có của hai hoặc nhiều biến. Trong SAS, nó được tạo bằng cách sử dụngPROC FREQ cùng với TABLESLựa chọn. Ví dụ - nếu chúng ta cần tần suất của từng kiểu xe cho mỗi sản phẩm trong từng loại loại xe, thì chúng ta cần sử dụng tùy chọn TABLES của PROC FREQ.

Cú pháp

Cú pháp cơ bản để áp dụng lập bảng chéo trong SAS là:

PROC FREQ DATA = dataset;
TABLES variable_1*Variable_2;

Sau đây là mô tả về các tham số được sử dụng:

  • Dataset là tên của tập dữ liệu.

  • Variable_1 and Variable_2 là các tên biến của tập dữ liệu có sự phân bố tần số cần được tính toán.

Thí dụ

Hãy xem xét trường hợp tìm bao nhiêu loại ô tô có sẵn cho mỗi nhãn hiệu ô tô từ tập dữ liệu ô tô1 được tạo biểu mẫu SASHELP.CARSnhư hình bên dưới. Trong trường hợp này, chúng tôi cần các giá trị tần số riêng lẻ cũng như tổng các giá trị tần số trên các sản phẩm và các loại. Chúng ta có thể quan sát rằng kết quả hiển thị các giá trị trên các hàng và cột.

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;

Khi đoạn mã trên được thực thi, chúng tôi nhận được kết quả sau:

Lập bảng chéo của 3 biến

Khi chúng ta có ba biến, chúng ta có thể nhóm 2 trong số chúng và lập bảng chéo từng biến trong số hai biến này với biến thứ ba. Vì vậy, kết quả chúng ta có hai bảng chéo.

Thí dụ

Trong ví dụ dưới đây, chúng ta tìm thấy tần suất xuất hiện của từng loại ô tô và từng mẫu ô tô liên quan đến cấu tạo của ô tô. Ngoài ra, chúng tôi sử dụng tùy chọn nocol và norow để tránh các giá trị tổng và phần trăm.

proc FREQ data = CARS2 ;
tables make * (type model)  / nocol norow nopercent;   
run;

Khi đoạn mã trên được thực thi, chúng tôi nhận được kết quả sau:

Lập bảng chéo của 4 biến

Với 4 biến, số lượng kết hợp được ghép đôi tăng lên 4. Mỗi biến từ nhóm 1 được ghép nối với mỗi biến của nhóm 2.

Thí dụ

Trong ví dụ dưới đây, chúng tôi tìm tần suất chiều dài của ô tô cho từng sản phẩm và từng kiểu xe. Tương tự như vậy tần số mã lực cho mỗi sản xuất và mỗi mô hình.

proc FREQ data = CARS2 ;
tables (make model) * (length  horsepower)  / nocol norow nopercent;   
run;

Khi đoạn mã trên được thực thi, chúng tôi nhận được kết quả sau: