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


คุณสามารถใช้ฟังก์ชัน PRXMATCH ใน SAS เพื่อค้นหารูปแบบเฉพาะในสตริงและส่งกลับตำแหน่งที่พบรูปแบบนั้น

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

PRXMATCH(นิพจน์ทั่วไป, แหล่งที่มา)

ทอง:

  • นิพจน์ทั่วไป : นิพจน์ทั่วไปที่ระบุรูปแบบที่จะค้นหา
  • source : ชื่อของตัวแปรที่ต้องการค้นหา

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

 /*create dataset*/
data my_data;
    input team $points;
    datalines ;
Mavs 22
mavs 14
Warriors 23
Mavs 19
warriors 34
MAVS 40
WARRIORS 39
;
run ;

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

ตัวอย่างที่ 1: ใช้ PRXMATCH เพื่อค้นหาตำแหน่งของรูปแบบในสตริง

รหัสต่อไปนี้แสดงวิธีการใช้ฟังก์ชัน PRXMATCH เพื่อสร้างคอลัมน์ใหม่ที่เรียกว่าตำแหน่งซึ่งมีตำแหน่งที่สตริง “avs” ปรากฏในคอลัมน์ทีม:

 /*create new dataset*/
data new_data;
    set my_data;
    position = prxmatch ("/avs/", team);
run ;

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

จากผลลัพธ์เราจะเห็นได้ว่า:

  • บรรทัดแรกมีรูปแบบ “avs” ในคอลัมน์ทีมเริ่มต้นที่ตำแหน่ง 2 ของสตริง
  • บรรทัดที่สองมีรูปแบบ “avs” ในคอลัมน์ทีมตำแหน่งเริ่มต้นที่ 2 ในสตริง
  • แถวที่สามไม่มีรูปแบบ “avs” ในคอลัมน์ทีม ดังนั้นจะส่งคืนค่า 0

และอื่นๆ

ตัวอย่างที่ 2: ใช้ PRXMATCH เพื่อตรวจสอบว่าสตริงมีรูปแบบหรือไม่

รหัสต่อไปนี้แสดงวิธีการใช้ฟังก์ชัน PRXMATCH เพื่อสร้างคอลัมน์ใหม่ที่เรียกว่า mavs_flag ซึ่งมีค่าเป็น 1 ถ้าสตริงคอลัมน์ทีมมี “avs” ที่ใดก็ได้ในสตริง และค่าเป็น 0 หากไม่ใช่ในกรณีนี้:

 /*create new dataset*/
data new_data;
    set my_data;
    if prxmatch("/Mavs/i", team) > 0 then mavs_flag = 1 ;
    else mavs_flag = 0 ;
run ;

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

โปรดทราบว่า i ที่ส่วนท้ายของนิพจน์ทั่วไประบุว่า SAS ควรทำการค้นหาโดยคำนึงถึงขนาดตัวพิมพ์

เพียงลืม i หากคุณต้องการค้นหาแบบคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่แทน

ตัวอย่างที่ 3: ใช้ PRXMATCH เพื่อกรองชุดข้อมูลสำหรับแถวที่มีรูปแบบ

รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน PRXMATCH เพื่อสร้างชุดข้อมูลใหม่ที่มีเฉพาะแถวใน my_data ที่มีสตริง “Mavs” (ไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่) ในคอลัมน์ทีม:

 /*create dataset*/
data original_doriginal_data; 

โปรดสังเกตว่าแต่ละแถวในชุดข้อมูลใหม่มี “Mavs” อยู่ในคอลัมน์ทีม

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

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

วิธีแยกตัวเลขจากสตริงใน SAS
วิธีลบเครื่องหมายจุลภาคออกจากสตริงใน SAS
วิธีแยกสตริงตามตัวคั่นใน SAS

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

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