วิธีใช้ฟังก์ชัน substr ใน sas (พร้อมตัวอย่าง)
คุณสามารถใช้ฟังก์ชัน SUBSTR ใน SAS เพื่อแยกส่วนของสตริงได้
ฟังก์ชันนี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:
SUBSTR(แหล่งที่มา, ตำแหน่ง, N)
ทอง:
- ที่มา : ช่องทางการวิเคราะห์
- Position : ตำแหน่งเริ่มต้นในการอ่าน
- N : จำนวนตัวอักษรที่จะอ่าน
ต่อไปนี้เป็นสี่วิธีทั่วไปในการใช้คุณลักษณะนี้:
วิธีที่ 1: แยกอักขระ N ตัวแรกจากสตริง
data new_data;
set original_data;
first_four = substr (string_variable, 1 , 4 );
run ;
วิธีที่ 2: แยกอักขระในช่วงตำแหน่งเฉพาะจากสตริง
data new_data;
set original_data;
two_through_five = substr (string_variable, 2 , 4 );
run ;
วิธีที่ 3: แยกอักขระ N ตัวสุดท้ายออกจากสตริง
data new_data;
set original_data;
last_three = substr (string_variable, length (string_variable)- 2 , 3 );
run ;
วิธีที่ 4: สร้างตัวแปรใหม่หากมีอักขระอยู่ในสายอักขระ
data new_data;
set original_data;
if substr (string_variable, 1 , 4 ) = ' some_string ' then new_var = ' Yes ';
else new_var = ' No ';
run ;
ตัวอย่างต่อไปนี้แสดงวิธีใช้แต่ละวิธีกับชุดข้อมูลต่อไปนี้ใน SAS:
/*create dataset*/
data original_data;
input team $1-10;
datalines ;
Warriors
Wizards
Rockets
Celtics
Thunder
;
run ;
/*view dataset*/
proc print data = original_data;

ตัวอย่างที่ 1: แยกอักขระ N ตัวแรกออกจากสตริง
รหัสต่อไปนี้แสดงวิธีการแยกอักขระ 4 ตัวแรกจากตัวแปร ทีม :
/*create new dataset*/
data new_data;
set original_data;
first_four = substr (team, 1 , 4 );
run ;
/*view new dataset*/
proc print data = new_data;

โปรดทราบว่าตัวแปร first_four มีอักขระสี่ตัวแรกของตัวแปร ทีม
ตัวอย่างที่ 2: แยกอักขระในช่วงตำแหน่งเฉพาะจากสตริง
รหัสต่อไปนี้แสดงวิธีการแยกอักขระจากตำแหน่งที่ 2 ถึง 5 ของตัวแปร ทีม :
/*create new dataset*/
data new_data;
set original_data;
two_through_five = substr (team, 2 , 4 );
run ;
/*view new dataset*/
proc print data = new_data;

ตัวอย่างที่ 3: แยกอักขระ N ตัวสุดท้ายออกจากสตริง
รหัสต่อไปนี้แสดงวิธีการแยกอักขระ 3 ตัวสุดท้ายจากตัวแปร ทีม :
/*create new dataset*/
data new_data;
set original_data;
last_three = substr (team , length (team) -2,3 );
run ;
/*view new dataset*/
proc print data = new_data;

ตัวอย่างที่ 4: สร้างตัวแปรใหม่หากมีอักขระอยู่ในสตริง
รหัสต่อไปนี้แสดงวิธีการสร้างตัวแปรใหม่ที่เรียกว่า W_Team ซึ่งประเมินเป็น ” ใช่ ” หากอักขระตัวแรกของชื่อทีมคือ “W” หรือ ” no ” หากอักขระตัวแรกไม่ใช่ “W”
/*create new dataset*/
data new_data;
set original_data;
if substr (team, 1 , 1 ) = ' W ' then W_Team = ' Yes ';
else W_Team = ' No ';
run ;
/*view new dataset*/
proc print data = new_data;

แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน SAS:
วิธีทำให้ข้อมูลเป็นมาตรฐานใน SAS
วิธีแทนที่อักขระในสตริงใน SAS
วิธีแทนที่ค่าที่หายไปด้วยศูนย์ใน SAS
วิธีลบรายการที่ซ้ำกันใน SAS