วิธีลบแถวที่มีค่าหายไปใน sas


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

 data new_data;
    set my_data;
    if cmiss(of _all_) then delete;
run ;

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

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่าง: ลบแถวที่มีค่าหายไปใน SAS

สมมติว่าเรามีชุดข้อมูลต่อไปนี้ใน SAS ที่มีข้อมูลเกี่ยวกับทีมบาสเก็ตบอลต่างๆ:

 /*create dataset*/
data my_data;
    input team $points assists;
    datalines ;
Mavs 113 22
Pacers 95.
Cavs. .
Lakers 114 20
Heat 123 39
Kings. 22
Raptors 105 11
Hawks 95 25
Magic 103 26
Spurs 119.
;
run ;

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

โปรดทราบว่ามีหลายแถวที่มีค่าหายไป

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

 /*create new dataset that removes rows with missing values from existing dataset*/
data new_data;
    set my_data;
    if cmiss(of _all_) then delete;
run ;

/*view new dataset*/
proc print data =new_data;

เราจะเห็นว่าแถวทั้งหมดที่มีค่าหายไปได้ถูกลบออกจากชุดข้อมูลแล้ว

หมายเหตุ #1 : อาร์กิวเมนต์ _all_ ในฟังก์ชัน CMISS ระบุว่า SAS ควรค้นหาค่าที่หายไปใน ทุก คอลัมน์ในแต่ละแถว

หมายเหตุ #2 : คุณสามารถดูเอกสารประกอบทั้งหมดของฟังก์ชัน CMISS ได้ที่นี่

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

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

วิธีลบรายการที่ซ้ำกันใน SAS
วิธีนับค่าที่หายไปใน SAS
วิธีแทนที่ค่าที่หายไปด้วยศูนย์ใน SAS

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

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