Sas: วิธีแยกสตริงตามตัวคั่น


คุณสามารถใช้ฟังก์ชัน scan() ใน SAS เพื่อแยกสตริงอย่างรวดเร็วตามตัวคั่นเฉพาะ

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

ตัวอย่าง: แยกสตริงตามตัวคั่นใน SAS

สมมติว่าเรามีชุดข้อมูลต่อไปนี้ใน SAS:

 /*create dataset*/
data my_data1;
    input name $25.;
    datalines ;
Andy_Lincoln_Bernard
Barry_Michael
Chad_Simpson_Smith
Derrick_Parson_Henry
Eric_Miller
Frank_Giovanni_Goodwill
;
run ;

/*print dataset*/
proc print data =my_data1;

เราสามารถใช้โค้ดต่อไปนี้เพื่อแยกสตริงชื่อออกเป็นสามสตริงแยกกันอย่างรวดเร็ว:

 /*create second dataset with name split into three columns*/
data my_data2;
set my_data1;
    name1= scan (name, 1 , '_');
    name2= scan (name, 2 , '_');
    name3= scan (name, 3 , '_');
run ;

/*view second dataset*/
proc print data =my_data2; 

โปรดทราบว่าสตริงคอลัมน์ ชื่อได้ ถูกแบ่งออกเป็นสามคอลัมน์ใหม่

สำหรับชื่อที่มีตัวคั่นเพียงตัวเดียว ค่าในคอลัมน์ name3 จะว่างเปล่า

โปรดทราบว่าเราสามารถใช้ฟังก์ชัน drop เพื่อลบคอลัมน์ชื่อเดิมออกจากชุดข้อมูลใหม่ได้:

 /*create second dataset with name split into three columns, drop original name*/
data my_data2;
set my_data1;
    name1= scan (name, 1 , '_');
    name2= scan (name, 2 , '_');
    name3= scan (name, 3 , '_');
    dropname ;
run ;

/*view second dataset*/
proc print data =my_data2; 

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

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

วิธีทำให้ข้อมูลเป็นมาตรฐานใน SAS
วิธีเปลี่ยนชื่อตัวแปรใน SAS
วิธีลบรายการที่ซ้ำกันใน SAS
วิธีแทนที่ค่าที่หายไปด้วยศูนย์ใน SAS

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

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