วิธีลบรายการที่ซ้ำกันใน sas (พร้อมตัวอย่าง)


คุณสามารถใช้ proc sort ใน SAS เพื่อลบแถวที่ซ้ำกันออกจากชุดข้อมูลได้อย่างรวดเร็ว

ขั้นตอนนี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:

 proc sort data =original_data out =no_dups_data nodupkey ;
by _all_;
run;

โปรดทราบว่าอาร์กิวเมนต์ by ระบุว่าคอลัมน์ใดที่จะสแกนเมื่อลบรายการที่ซ้ำกัน

ตัวอย่างต่อไปนี้แสดงวิธีการลบรายการที่ซ้ำกันออกจากชุดข้อมูลต่อไปนี้ใน SAS:

 /*create dataset*/
data original_data;
    input team $position $points;
    datalines ;
A Guard 12
A Guard 20
A Guard 20
A Guard 24
A Forward 15
A Forward 15
A Forward 19
A Forward 28
B Guard 10
B Guard 12
B Guard 12
B Guard 26
B Forward 10
B Forward 10
B Forward 10
B Forward 19
;
run ;

/*view dataset*/
proc print data = original_data; 

ตัวอย่างที่ 1: ลบรายการที่ซ้ำกันออกจากคอลัมน์ทั้งหมด

เราสามารถใช้โค้ดต่อไปนี้เพื่อลบแถวที่มีค่าซ้ำกันในทุกคอลัมน์ในชุดข้อมูล:

 /*create dataset with no duplicate rows*/
proc sort data =original_data out =no_dups_data nodupkey ;
    by _all_;
run ;

/*view dataset with no duplicate rows*/
proc print data =no_dups_data; 

โปรดทราบว่ามีการลบแถวที่ซ้ำกันทั้งหมดห้าแถวออกจากชุดข้อมูลดั้งเดิม

ตัวอย่างที่ 2: ลบรายการที่ซ้ำกันออกจากคอลัมน์ที่ระบุ

เราสามารถใช้ by อาร์กิวเมนต์เพื่อระบุคอลัมน์ที่จะตรวจสอบเมื่อลบรายการที่ซ้ำกัน

ตัวอย่างเช่น โค้ดต่อไปนี้จะลบแถวที่มีค่าซ้ำกันในคอลัมน์ ทีม และ ตำแหน่ง :

 /*create dataset with no duplicate rows in team and position columns*/
proc sort data =original_data out =no_dups_data nodupkey ;
    by team position;
run ;

/*view dataset with no duplicate rows in team and position columns*/
proc print data =no_dups_data; 

มีเพียงสี่แถวเท่านั้นที่ยังคงอยู่ในชุดข้อมูลหลังจากลบแถวที่มีค่าซ้ำกันในคอลัมน์ ทีม และ ตำแหน่ง

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่นๆ ใน SAS:

วิธีทำให้ข้อมูลเป็นมาตรฐานใน SAS
วิธีระบุค่าผิดปกติใน SAS
วิธีใช้สรุปขั้นตอนใน SAS
วิธีสร้างตารางความถี่ใน SAS

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *