วิธีใช้ฟังก์ชันสตริงย่อยใน r (4 ตัวอย่าง)
ฟังก์ชัน substring() ใน R สามารถใช้เพื่อแยกสตริงย่อยในเวกเตอร์อักขระได้
ฟังก์ชันนี้ใช้ไวยากรณ์ต่อไปนี้:
substring(text, first, last)
ทอง:
- ข้อความ: ชื่อเวกเตอร์อักขระ
- first: องค์ประกอบแรกที่จะแยก
- Last: องค์ประกอบสุดท้ายที่จะแยก
โปรดทราบด้วยว่าฟังก์ชัน substr() ทำสิ่งเดียวกันทุกประการ แต่มีชื่ออาร์กิวเมนต์ที่แตกต่างกันเล็กน้อย:
substr(text, first, last)
ทอง:
- x: ชื่อเวกเตอร์อักขระ
- start: องค์ประกอบแรกที่จะแยก
- หยุด: องค์ประกอบสุดท้ายที่จะแยก
ตัวอย่างในบทช่วยสอนนี้แสดงวิธีใช้ฟังก์ชัน substring() ในทางปฏิบัติกับกรอบข้อมูลต่อไปนี้ใน R:
#create data frame
df <- data. frame (team=c('Mavericks', 'Hornets', 'Rockets', 'Grizzlies'))
#view data frame
df
team
1 Mavericks
2 Hornets
3 Rockets
4 Grizzlies
ตัวอย่างที่ 1: แยกอักขระระหว่างตำแหน่งที่กำหนด
รหัสต่อไปนี้แสดงวิธีการใช้ฟังก์ชัน substring() เพื่อแยกอักขระระหว่างตำแหน่งที่ 2 และ 5 ของคอลัมน์ “ทีม”:
#create new column that contains characters between positions 2 and 5
df$between2_5 <- substring(df$team, first= 2 , last= 5 )
#view updated data frame
df
team between2_5
1 Mavericks aver
2 Hornets adorns
3 Rockets ocke
4 Rizz Grizzlies
โปรดทราบว่าคอลัมน์ใหม่ประกอบด้วยอักขระระหว่างตำแหน่ง 2 และ 5 ของคอลัมน์ “ทีม”
ตัวอย่างที่ 2: แยกอักขระ N ตัวแรก
รหัสต่อไปนี้แสดงวิธีการใช้ฟังก์ชัน substring() เพื่อแยกอักขระ 3 ตัวแรกจากคอลัมน์ “ทีม”:
#create new column that contains first 3 characters
df$first3 <- substring(df$team, first= 1 , last= 3 )
#view updated data frame
df
team first3
1 Mavericks Mavs
2 Hornets Hor
3 Rockets Roc
4 Grizzlies Gray
โปรดทราบว่าคอลัมน์ใหม่ประกอบด้วยอักขระสามตัวแรกของคอลัมน์ “ทีม”
ตัวอย่างที่ 3: แยกอักขระ N ตัวสุดท้าย
รหัสต่อไปนี้แสดงวิธีการใช้ฟังก์ชัน substring() เพื่อแยกอักขระ 3 ตัวสุดท้ายจากคอลัมน์ “ทีม”:
#create new column that contains last 3 characters
df$last3 <- substring(df$team, nchar (df$team)- 3 +1, nchar (df$team))
#view updated data frame
df
team last3
1 Mavericks cks
2 Hornets ets
3 Rockets ets
4 Grizzlies ies
โปรดทราบว่าคอลัมน์ใหม่ประกอบด้วยอักขระสามตัวสุดท้ายของคอลัมน์ “ทีม”
ตัวอย่างที่ 4: แทนที่สตริงย่อย
รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน substring() เพื่อแทนที่อักขระ 3 ตัวแรกของค่าในคอลัมน์ “ทีม” ด้วยเครื่องหมายดอกจัน 3 อัน:
#replace first 3 characters with asterisks in team column
substring(df$team, first= 1 , last= 3 ) <- " *** "
#view updated data frame
df
team
1 ***ericks
2 ***net
3 ***kets
4 ***zzlies
โปรดทราบว่าอักขระสามตัวแรกของแต่ละชื่อทีมจะถูกแทนที่ด้วยเครื่องหมายดอกจัน
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่นๆ ด้วยสตริงใน R:
วิธีใช้ str_replace ใน R
วิธีดำเนินการจับคู่สตริงบางส่วนใน R
วิธีแปลงสตริงเป็นวันที่ใน R
วิธีแปลงอักขระเป็นตัวเลขใน R