วิธีใช้ proc rank ใน sas (พร้อมตัวอย่าง)
คุณสามารถใช้ PROC RANK ใน SAS เพื่อคำนวณอันดับของตัวแปรตัวเลขตั้งแต่หนึ่งตัวขึ้นไป
ต่อไปนี้เป็นสี่วิธีที่พบบ่อยที่สุดในการใช้ขั้นตอนนี้:
วิธีที่ 1: จัดอันดับตัวแปรหนึ่งตัว
proc rank data =original_data out =ranked_data;
var var1;
ranks var1_rank;
run ;
วิธีที่ 2: จำแนกตัวแปรตามกลุ่ม
proc rank data =original_data out =ranked_data;
var var1;
by var2;
ranks var1_rank;
run ;
วิธีที่ 3: จัดอันดับตัวแปรเป็นเปอร์เซ็นไทล์
proc rank data =original_data groups =4 out =ranked_data;
var var1;
ranks var1_rank;
run ;
วิธีที่ 4: จำแนกตัวแปรหลายตัว
proc rank data =original_data out =ranked_data;
var var1 var2;
ranks var1_rank var2_rank;
run ;
ตัวอย่างต่อไปนี้แสดงวิธีใช้แต่ละวิธีกับชุดข้อมูลต่อไปนี้ใน SAS:
/*create dataset*/
data original_data;
input team $pointsrebounds;
datalines ;
At 25 10
At 18 4
At 18 7
At 24 8
B 27 9
B 33 13
B 31 11
B 30 16
;
run ;
/*view dataset*/
proc print data = original_data;
ตัวอย่างที่ 1: ตัวแปรอันดับ 1
รหัสต่อไปนี้แสดงวิธีสร้างตัวแปรใหม่ที่เรียกว่า point_rank ซึ่งจัดอันดับคะแนนที่แต่ละทีมทำได้:
/*rank points scored by team*/
proc rank data =original_data out =ranked_data;
var points;
ranks points_rank;
run ;
/*view ranks*/
proc print data =ranked_data;
ทีมที่มีคะแนนมากที่สุดจะได้รับอันดับสูงสุด และทีมที่มีคะแนนน้อยที่สุดจะได้รับอันดับต่ำสุด
คะแนนที่เสมอกันจะถูกกำหนดอันดับเฉลี่ย ตัวอย่างเช่น แถวที่มีคะแนนต่ำสุดที่หนึ่งและสองจะได้รับการจัดอันดับที่ 1.5 เนื่องจากเป็นค่าเฉลี่ยที่ 1 และ 2
โปรดทราบว่าคุณสามารถใช้คำสั่ง จากมาก ไปน้อยเพื่อมอบหมายทีมที่มีคะแนนมากที่สุดไปยังอันดับ ต่ำสุดแทน :
/*rank points scored by team in descending order*/
proc rank data =original_data descending out =ranked_data;
var points;
ranks points_rank;
run ;
/*view ranks*/
proc print data =ranked_data;
ตัวอย่างที่ 2: ตัวแปรอันดับหนึ่งต่อกลุ่ม
รหัสต่อไปนี้แสดงวิธีการสร้างตัวแปรใหม่ที่เรียกว่า point_rank ซึ่งจัดอันดับคะแนนที่จัดกลุ่มตามทีม:
/*rank points scored, grouped by team*/
proc rank data =original_data out =ranked_data;
var points;
by team;
ranks points_rank;
run ;
/*view ranks*/
proc print data =ranked_data;
ตัวอย่างที่ 3: จัดอันดับตัวแปรเป็นเปอร์เซ็นไทล์
เราสามารถใช้คำสั่งกลุ่มเพื่อเรียงลำดับตัวแปรออกเป็นกลุ่มเปอร์เซ็นไทล์ได้ ตัวอย่างเช่น เราสามารถจำแนกค่าจุดแต่ละค่าเป็นควอไทล์ได้ (สี่กลุ่ม):
/*rank points into quartiles*/
proc rank data =original_data groups =4 out =ranked_data;
var points;
ranks points_rank;
run ;
/*view ranks*/
proc print data =ranked_data;
แถวที่มีค่าคะแนนในควอไทล์ต่ำสุดจะถูกกำหนดกลุ่มเป็น 0 แถวที่มีค่าคะแนนในควอไทล์ต่ำสุดถัดไปจะถูกกำหนดกลุ่มเป็น 1 และอื่นๆ
หมายเหตุ : หากต้องการกำหนดค่าเป็นเดซิล ให้ใช้ groups=10
ตัวอย่างที่ 4: จำแนกตัวแปรหลายตัว
รหัสต่อไปนี้แสดงวิธีการสร้างตัวแปรใหม่เพื่อจำแนก จุด และ รีบาวน์ :
proc rank data =original_data out =ranked_data;
var points rebounds;
ranks points_rank rebounds_rank;
run ;
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน SAS:
วิธีใช้สรุปขั้นตอนใน SAS
วิธีใช้ Proc Tabulate ใน SAS
วิธีใช้ PROC Transpose ใน SAS
วิธีสร้างตารางความถี่ใน SAS