SAS - ข้าม Tabulations
การจัดตารางแบบไขว้เกี่ยวข้องกับการสร้างตารางข้ามหรือที่เรียกว่าตารางที่อาจเกิดขึ้นโดยใช้การรวมตัวแปรสองตัวแปรขึ้นไป ใน SAS จะถูกสร้างขึ้นโดยใช้ไฟล์PROC FREQ พร้อมกับ TABLESตัวเลือก ตัวอย่างเช่น - หากเราต้องการความถี่ของแต่ละรุ่นสำหรับแต่ละยี่ห้อในรถยนต์แต่ละประเภทเราจำเป็นต้องใช้ตัวเลือกตารางของ PROC FREQ
ไวยากรณ์
ไวยากรณ์พื้นฐานสำหรับการใช้ cross tabulation ใน SAS คือ -
PROC FREQ DATA = dataset;
TABLES variable_1*Variable_2;
ต่อไปนี้เป็นคำอธิบายของพารามิเตอร์ที่ใช้ -
Dataset คือชื่อของชุดข้อมูล
Variable_1 and Variable_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;
เมื่อดำเนินการโค้ดด้านบนเราจะได้ผลลัพธ์ดังต่อไปนี้ -
ตารางข้าม 3 ตัวแปร
เมื่อเรามีตัวแปรสามตัวเราสามารถจัดกลุ่ม 2 ตัวแปรและข้ามตารางแต่ละตัวแปรทั้งสองนี้ด้วยตัวแปรที่สาม ดังนั้นเราจึงมีตารางไขว้สองตาราง
ตัวอย่าง
ในตัวอย่างด้านล่างเราจะพบความถี่ของรถยนต์แต่ละประเภทและรถยนต์แต่ละรุ่นที่เกี่ยวข้องกับยี่ห้อของรถ นอกจากนี้เรายังใช้ตัวเลือก nocol และ norow เพื่อหลีกเลี่ยงค่าผลรวมและเปอร์เซ็นต์
proc FREQ data = CARS2 ;
tables make * (type model) / nocol norow nopercent;
run;
เมื่อดำเนินการโค้ดด้านบนเราจะได้ผลลัพธ์ดังต่อไปนี้ -
ตารางไขว้ของ 4 ตัวแปร
ด้วยตัวแปร 4 ตัวจำนวนชุดค่าผสมที่จับคู่จะเพิ่มขึ้นเป็น 4 ตัวแปรแต่ละตัวจากกลุ่ม 1 จะจับคู่กับตัวแปรแต่ละตัวของกลุ่ม 2
ตัวอย่าง
ในตัวอย่างด้านล่างเราจะพบความถี่ของความยาวของรถสำหรับแต่ละยี่ห้อและแต่ละรุ่น ในทำนองเดียวกันความถี่ของแรงม้าสำหรับแต่ละยี่ห้อและแต่ละรุ่น
proc FREQ data = CARS2 ;
tables (make model) * (length horsepower) / nocol norow nopercent;
run;
เมื่อดำเนินการโค้ดด้านบนเราจะได้ผลลัพธ์ดังต่อไปนี้ -