SAS - การตั้งค่าชุดข้อมูลย่อย
การย่อยชุดข้อมูล SAS หมายถึงการแยกส่วนของชุดข้อมูลโดยการเลือกตัวแปรจำนวนน้อยลงหรือจำนวนการสังเกตน้อยลงหรือทั้งสองอย่าง ในขณะที่การย่อยตัวแปรทำได้โดยใช้KEEP และ DROP คำสั่งการตั้งค่าย่อยของการสังเกตทำได้โดยใช้ DELETE คำให้การ.
นอกจากนี้ข้อมูลผลลัพธ์จากการดำเนินการย่อยจะถูกเก็บไว้ในชุดข้อมูลใหม่ซึ่งสามารถใช้สำหรับการวิเคราะห์เพิ่มเติมได้ การตั้งค่าย่อยส่วนใหญ่จะใช้เพื่อวัตถุประสงค์ในการวิเคราะห์ส่วนหนึ่งของชุดข้อมูลโดยไม่ใช้ตัวแปรหรือข้อสังเกตเหล่านั้นซึ่งอาจไม่เกี่ยวข้องกับการวิเคราะห์
ตัวแปรย่อย
ในวิธีนี้เราดึงตัวแปรเพียงไม่กี่ตัวจากชุดข้อมูลทั้งหมด
ไวยากรณ์
ไวยากรณ์พื้นฐานสำหรับตัวแปรการตั้งค่าย่อยใน SAS คือ -
KEEP var1 var2 ... ;
DROP var1 var2 ... ;
ต่อไปนี้เป็นคำอธิบายของพารามิเตอร์ที่ใช้ -
var1 and var2 คือชื่อตัวแปรจากชุดข้อมูลที่ต้องเก็บไว้หรือทิ้ง
ตัวอย่าง
พิจารณาชุดข้อมูล SAS ด้านล่างที่มีรายละเอียดพนักงานขององค์กร หากเราสนใจเฉพาะการรับชื่อและค่าแผนกจากชุดข้อมูลเราสามารถใช้รหัสด้านล่างนี้ได้
DATA Employee;
INPUT empid ename $ salary DEPT $ ;
DATALINES;
1 Rick 623.3 IT
2 Dan 515.2 OPS
3 Mike 611.5 IT
4 Ryan 729.1 HR
5 Gary 843.25 FIN
6 Tusar 578.6 IT
7 Pranab 632.8 OPS
8 Rasmi 722.5 FIN
;
RUN;
DATA OnlyDept;
SET Employee;
KEEP ename DEPT;
RUN;
PROC PRINT DATA = OnlyDept;
RUN;
เมื่อดำเนินการโค้ดด้านบนเราจะได้ผลลัพธ์ดังต่อไปนี้
ผลลัพธ์เดียวกันสามารถหาได้จากการวางตัวแปรที่ไม่ต้องการ รหัสด้านล่างแสดงให้เห็นถึงสิ่งนี้
DATA Employee;
INPUT empid ename $ salary DEPT $ ;
DATALINES;
1 Rick 623.3 IT
2 Dan 515.2 OPS
3 Mike 611.5 IT
4 Ryan 729.1 HR
5 Gary 843.25 FIN
6 Tusar 578.6 IT
7 Pranab 632.8 OPS
8 Rasmi 722.5 FIN
;
RUN;
DATA OnlyDept;
SET Employee;
DROP empid salary;
RUN;
PROC PRINT DATA = OnlyDept;
RUN;
การตั้งค่าการสังเกต
ในวิธีนี้เราดึงการสังเกตเพียงเล็กน้อยจากชุดข้อมูลทั้งหมด
ไวยากรณ์
เราใช้ PROC FREQ ซึ่งติดตามการสังเกตที่เลือกสำหรับชุดข้อมูลใหม่
ไวยากรณ์สำหรับการสังเกตการตั้งค่าย่อยคือ -
IF Var Condition THEN DELETE ;
ต่อไปนี้เป็นคำอธิบายของพารามิเตอร์ที่ใช้ -
Var คือชื่อของตัวแปรตามค่าที่การสังเกตจะถูกลบโดยใช้เงื่อนไขที่ระบุ
ตัวอย่าง
พิจารณาชุดข้อมูล SAS ด้านล่างที่มีรายละเอียดพนักงานขององค์กร หากเราสนใจเฉพาะการรับข้อมูลสำหรับพนักงานที่มีเงินเดือนมากกว่า 700 ให้ใช้รหัสด้านล่าง
DATA Employee;
INPUT empid name $ salary DEPT $ ;
DATALINES;
1 Rick 623.3 IT
2 Dan 515.2 OPS
3 Mike 611.5 IT
4 Ryan 729.1 HR
5 Gary 843.25 FIN
6 Tusar 578.6 IT
7 Pranab 632.8 OPS
8 Rasmi 722.5 FIN
;
RUN;
DATA OnlyDept;
SET Employee;
IF salary < 700 THEN DELETE;
RUN;
PROC PRINT DATA = OnlyDept;
RUN;
เมื่อดำเนินการโค้ดด้านบนเราจะได้ผลลัพธ์ดังต่อไปนี้