วิธีใช้ฟังก์ชัน 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