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