วิธีแทนที่ค่าที่หายไปด้วยศูนย์ใน sas
บ่อยครั้ง คุณอาจต้องการแทนที่ค่าที่หายไปในชุดข้อมูล SAS ด้วยศูนย์
โชคดีที่การทำเช่นนี้ทำได้โดยใช้คำสั่ง if then แบบง่ายๆ
ตัวอย่างต่อไปนี้แสดงวิธีแทนที่ค่าที่หายไปด้วยศูนย์ในทางปฏิบัติ
ตัวอย่างที่ 1: แทนที่ค่าที่หายไปในทุกคอลัมน์
สมมติว่าเรามีชุดข้อมูลต่อไปนี้ใน SAS ซึ่งมีสามคอลัมน์ โดยแต่ละคอลัมน์มีค่าหายไป:
/*create dataset*/ data my_data; input xyz; datalines ; 1. 76 2 3 . 2 3 85 4 5 88 2 2 . 1 2 69 5. 94 4 1 . . . 88 4 3 92 ; run ; /*view dataset*/ proc print data =my_data;

เราสามารถใช้โค้ดต่อไปนี้เพื่อแทนที่ค่าที่หายไปด้วยศูนย์ในแต่ละคอลัมน์ของชุดข้อมูล:
/*create new dataset with missing values replaced by zero*/
data my_data_new;
set my_data;
array variablesOfInterest _numeric_ ;
do over variablesOfInterest;
if variablesOfInterest=. then variablesOfInterest= 0 ;
end ;
run ;
/*view new dataset*/
proc print data =my_data_new;

โปรดทราบว่าค่าที่หายไปในแต่ละคอลัมน์จะถูกแทนที่ด้วยศูนย์
หมายเหตุ : อาร์กิวเมนต์ _numeric_ บอกให้ SAS แทนที่ค่าที่หายไปด้วยศูนย์ในแต่ละคอลัมน์ตัวเลขในชุดข้อมูล
ตัวอย่างที่ 2: แทนที่ค่าที่หายไปในคอลัมน์เฉพาะ
สมมติว่าเรามีชุดข้อมูลต่อไปนี้ใน SAS ซึ่งมีสามคอลัมน์ โดยแต่ละคอลัมน์มีค่าหายไป:
/*create dataset*/ data my_data; input xyz; datalines ; 1. 76 2 3 . 2 3 85 4 5 88 2 2 . 1 2 69 5. 94 4 1 . . . 88 4 3 92 ; run ; /*view dataset*/ proc print data =my_data;

เราสามารถใช้รหัสต่อไปนี้เพื่อแทนที่ค่าที่หายไปด้วยศูนย์เฉพาะในคอลัมน์ “y” ของชุดข้อมูล:
/*create new dataset with missing values in "y" column replaced by zero*/
data my_data_new;
set my_data;
array variablesOfInterest y;
do over variablesOfInterest;
if variablesOfInterest=. then variablesOfInterest= 0 ;
end ;
run ;
/*view new dataset*/
proc print data =my_data_new;

โปรดทราบว่าเฉพาะค่าที่หายไปในคอลัมน์ “y” เท่านั้นที่ถูกแทนที่ด้วยศูนย์
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน SAS:
วิธีทำให้ข้อมูลเป็นมาตรฐานใน SAS
วิธีลบรายการที่ซ้ำกันใน SAS
วิธีใช้สรุปขั้นตอนใน SAS
วิธีเลือกการสังเกตที่ไม่ใช่ศูนย์ใน SAS