วิธีใช้ฟังก์ชัน find ใน sas (พร้อมตัวอย่าง)
คุณสามารถใช้ฟังก์ชัน FIND ใน SAS เพื่อค้นหาตำแหน่งของสตริงย่อยที่เกิดขึ้นครั้งแรกในสตริง
ต่อไปนี้เป็นสองวิธีทั่วไปในการใช้คุณลักษณะนี้:
วิธีที่ 1: ค้นหาตำแหน่งของการเกิดขึ้นครั้งแรกของสตริง
data new_data;
set original_data;
first_occurrence = find (variable_name, " string ");
run;
วิธีที่ 2: ค้นหาตำแหน่งของสตริงที่เกิดขึ้นครั้งแรก (ไม่สนใจตัวพิมพ์)
data new_data;
set original_data;
first_occurrence = find (variable_name, " string ", " i ");
run ;
อาร์กิวเมนต์ “i” บอกให้ SAS ละเว้นตัวพิมพ์เมื่อค้นหาสตริงย่อย
ตัวอย่างต่อไปนี้แสดงวิธีใช้แต่ละวิธีกับชุดข้อมูลต่อไปนี้ใน SAS:
/*create dataset*/
data original_data;
input sentence $1-25;
datalines ;
The fox ran fast
That is a quick FOX
This fox is a slow fox
The zebra is cool
;
run ;
/*view dataset*/
proc print data = original_data;
ตัวอย่างที่ 1: ค้นหาตำแหน่งของสตริงที่เกิดขึ้นครั้งแรก
รหัสต่อไปนี้แสดงวิธีการค้นหาตำแหน่งของ “fox” ที่เกิดขึ้นครั้งแรกในแต่ละสายอักขระ:
data new_data;
set original_data;
first_fox = find (phrase, " fox ");
run ;
ต่อไปนี้เป็นวิธีการตีความผลลัพธ์:
- สุนัขจิ้งจอก วิ่งเร็ว (เกิดครั้งแรกอยู่ในตำแหน่งที่ 5 )
- มันเป็น FOX ที่รวดเร็ว (สตริงตัวพิมพ์เล็ก “fox” ไม่เคยปรากฏ)
- สุนัขจิ้งจอก ตัวนี้เป็นสุนัขจิ้งจอกที่เชื่องช้า (ตัวแรกอยู่ในตำแหน่งที่ 6 )
- ม้าลายเท่มาก (สาย “จิ้งจอก” ไม่เคยปรากฏ)
ตัวอย่างที่ 2: ค้นหาตำแหน่งของสตริงที่เกิดขึ้นครั้งแรก (ไม่สนใจตัวพิมพ์)
รหัสต่อไปนี้แสดงวิธีการค้นหาตำแหน่งของการเกิด “fox” ที่ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ในแต่ละสายอักขระ:
data new_data;
set original_data;
first_fox = find (phrase, " fox ", " i ");
run ;
ต่อไปนี้เป็นวิธีการตีความผลลัพธ์:
- สุนัขจิ้งจอก วิ่งเร็ว (เกิดครั้งแรกอยู่ในตำแหน่งที่ 5 )
- เป็นการ F OX ที่รวดเร็ว (การเกิด “สุนัขจิ้งจอก” ครั้งแรกอยู่ที่ตำแหน่ง 17 )
- สุนัขจิ้งจอก ตัวนี้เป็นสุนัขจิ้งจอกที่เชื่องช้า (ตัวแรกอยู่ในตำแหน่งที่ 6 )
- ม้าลายเท่มาก (สาย “จิ้งจอก” ไม่เคยปรากฏ)
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน SAS:
วิธีทำให้ข้อมูลเป็นมาตรฐานใน SAS
วิธีแทนที่อักขระในสตริงใน SAS
วิธีแทนที่ค่าที่หายไปด้วยศูนย์ใน SAS
วิธีลบรายการที่ซ้ำกันใน SAS