SAS - จัดเรียงชุดข้อมูล

ชุดข้อมูลใน SAS สามารถจัดเรียงตามตัวแปรใด ๆ ที่มีอยู่ สิ่งนี้ช่วยทั้งในการวิเคราะห์ข้อมูลและดำเนินการตัวเลือกอื่น ๆ เช่นการรวมเป็นต้นการเรียงลำดับอาจเกิดขึ้นกับตัวแปรเดียวและหลายตัวแปร ขั้นตอน SAS ที่ใช้เพื่อดำเนินการเรียงลำดับในชุดข้อมูล SAS ถูกตั้งชื่อPROC SORT. ผลลัพธ์หลังจากการเรียงลำดับจะถูกเก็บไว้ในชุดข้อมูลใหม่และชุดข้อมูลเดิมจะไม่เปลี่ยนแปลง

ไวยากรณ์

ไวยากรณ์พื้นฐานสำหรับการดำเนินการจัดเรียงในชุดข้อมูลใน SAS คือ -

PROC SORT DATA = original dataset OUT = Sorted dataset;
   BY variable name;

ต่อไปนี้เป็นคำอธิบายของพารามิเตอร์ที่ใช้ -

  • variable name คือชื่อคอลัมน์ที่การเรียงลำดับเกิดขึ้น

  • Original dataset คือชื่อชุดข้อมูลที่จะจัดเรียง

  • Sorted dataset คือชื่อชุดข้อมูลหลังจากจัดเรียงแล้ว

ตัวอย่าง

ลองพิจารณาชุดข้อมูล SAS ต่อไปนี้ที่มีรายละเอียดพนักงานขององค์กร เราสามารถจัดเรียงชุดข้อมูลเกี่ยวกับเงินเดือนโดยใช้รหัสที่ระบุด้านล่าง

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;

PROC SORT DATA = Employee OUT = Sorted_sal ;
   BY salary;
RUN ;
 
PROC PRINT DATA = Sorted_sal;
RUN ;

เมื่อดำเนินการโค้ดด้านบนเราจะได้ผลลัพธ์ดังต่อไปนี้

การเรียงลำดับย้อนกลับ

ตัวเลือกการจัดเรียงเริ่มต้นจะเรียงลำดับจากน้อยไปมากซึ่งหมายความว่าการสังเกตจะถูกจัดเรียงตามค่าที่ต่ำกว่าถึงสูงกว่าของตัวแปรที่เรียง แต่เราอาจต้องการให้การเรียงลำดับเกิดขึ้นจากน้อยไปมาก

ตัวอย่าง

ในโค้ดด้านล่างการเรียงลำดับย้อนกลับทำได้โดยใช้คำสั่ง DESCENDING

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;

PROC SORT DATA = Employee OUT = Sorted_sal_reverse ;
   BY DESCENDING salary;
RUN ;
 
PROC PRINT DATA = Sorted_sal_reverse;
RUN ;

เมื่อดำเนินการโค้ดด้านบนเราจะได้ผลลัพธ์ดังต่อไปนี้

การจัดเรียงตัวแปรหลายตัว

การเรียงลำดับสามารถนำไปใช้กับตัวแปรหลายตัวโดยใช้กับคำสั่ง BY ตัวแปรจะเรียงลำดับตามลำดับความสำคัญจากซ้ายไปขวา

ตัวอย่าง

ในโค้ดด้านล่างชุดข้อมูลจะถูกจัดเรียงเป็นอันดับแรกในชื่อแผนกตัวแปรและถัดจากเงินเดือนชื่อตัวแปร

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;

PROC SORT DATA = Employee OUT = Sorted_dept_sal ;
   BY salary DEPT;
RUN ;
 
PROC PRINT DATA = Sorted_dept_sal;
RUN ;

เมื่อดำเนินการโค้ดด้านบนเราจะได้ผลลัพธ์ดังต่อไปนี้