วิธีใช้ฟังก์ชัน scan ใน sas (พร้อมตัวอย่าง)


คุณสามารถใช้ฟังก์ชัน SCAN ใน SAS เพื่อแยกคำ ที่ n ออกจากสตริงได้

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

SCAN (สตริง, หมายเลข)

ทอง:

  • string : สตริงที่จะแยกวิเคราะห์
  • count : คำ ที่ n ที่จะแยก

ต่อไปนี้เป็นวิธีใช้ฟีเจอร์นี้ที่พบบ่อยที่สุดสามวิธี:

วิธีที่ 1: แยกคำ ที่ n ออกจากสตริง

 data new_data;
    set original_data;
    second_word = scan (string_variable, 2 );
run ;

วิธีที่ 2: แยกคำสุดท้ายออกจากสตริง

 data new_data;
    set original_data;
    last_word = scan (string_variable, -1 );
run ;

วิธีที่ 3: แยกคำหลายคำออกจากสตริง

 data new_data;
    set original_data;
    first_word = scan (string_variable, 1 );
    second_word = scan (string_variable, 2 );
    third_word = scan (string_variable, 3 );
run ;

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

 /*create dataset*/
data original_data;
    input name $20. dirty;
    datalines ;
Andy Lincoln Bernard 55
Barren Michael Smith 41
Chad Simpson Arnolds 13
Derrick Parson Henry 29
Eric Miller Johansen 47
Frank Giovanni Goode 61
;
run ;

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

ตัวอย่างที่ 1: แยกคำ ที่ n ออกจากสตริง

รหัสต่อไปนี้แสดงวิธีการแยกคำที่สองจากแต่ละสตริงในคอลัมน์ ชื่อ :

 /*extract second word in each row of name column*/
data new_data;
    set original_data;
    second_word = scan (name, 2 );
run ;

/*view results*/
proc print data =new_data;

ฟังก์ชั่นสแกนใน SAS

โปรดทราบว่าคอลัมน์ใหม่ชื่อ Second_word มีคำที่สองของแต่ละสตริงในคอลัมน์ ชื่อ

ตัวอย่างที่ 2: แยกคำสุดท้ายออกจากสตริง

รหัสต่อไปนี้แสดงวิธีการใช้ค่า -1 ในฟังก์ชันสแกนเพื่อแยกคำสุดท้ายของแต่ละสตริงในคอลัมน์ ชื่อ :

 /*extract last word in each row of name column*/
data new_data;
    set original_data;
    last_word = scan (name, -1 );
run ;

/*view results*/
proc print data =new_data;

โปรดทราบว่าคอลัมน์ใหม่ที่เรียกว่า Last_word มีคำสุดท้ายของแต่ละสตริงในคอลัมน์ ชื่อ

ตัวอย่างที่ 3: แยกคำหลายคำออกจากสตริง

รหัสต่อไปนี้แสดงวิธีการใช้ฟังก์ชันสแกนเพื่อแยกแต่ละคำจากแต่ละสตริงในคอลัมน์ ชื่อ :

 /*extract each word in each row of name column*/
data new_data;
    set original_data;
    first_word = scan (name, 1 );
    second_word = scan (name, 2 );
    third_word = scan (name, 3 );
run ;

/*view results*/
proc print data =new_data;

โปรดทราบว่ามีการสร้างคอลัมน์ใหม่สามคอลัมน์ซึ่งประกอบด้วยคำที่หนึ่ง สอง และสามของแต่ละสตริงในคอลัมน์ ชื่อ

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

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

วิธีใช้ฟังก์ชัน SUBSTR ใน SAS
วิธีใช้ฟังก์ชัน FIND ใน SAS
วิธีใช้ฟังก์ชัน COALESCE ใน SAS

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

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