R: แยกสตริงย่อยออกจากส่วนท้ายของสตริง


คุณสามารถใช้วิธีการต่อไปนี้เพื่อแยกสตริงย่อยใน R โดยเริ่มจากจุดสิ้นสุดของสตริง:

วิธีที่ 1: ใช้ Base R

 #define function to extract n characters starting from end
substr_end <- function (x, n){
  substr(x, nchar(x)-n+ 1 , nchar(x))
}

#extract 3 characters starting from end
substr_end(my_string, 3 )

วิธีที่ 2: ใช้แพ็คเกจ stringr

 library (stringr)

#extract 3 characters starting from end 
str_sub(my_string, start = - 3 )

สองตัวอย่างนี้แยกอักขระสามตัวสุดท้ายออกจากสตริงชื่อ my_string

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

 #create data frame
df <- data. frame (team=c('Mavericks', 'Lakers', 'Hawks', 'Nets', 'Warriors'),
                 dots=c(100, 143, 129, 113, 123))

#view data frame
df

       team points
1 Mavericks 100
2 Lakers 143
3 Hawks 129
4 Nets 113
5 Warriors 123

ตัวอย่างที่ 1: แยกสตริงย่อยจากจุดสิ้นสุดโดยใช้ Base R

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

 #define function to extract n characters starting from end
substr_end <- function (x, n){
  substr(x, nchar(x)-n+ 1 , nchar(x))
}

#create new column that extracts last 3 characters from team column
df$team_last3 <- substr_end(my_string, 3 )

#view updated data frame
df

       team points team_last3
1 Mavericks 100 cks
2 Lakers 143ers
3 Hawks 129 wks
4 Nets 113 ets
5 Warriors 123 gold

โปรดทราบว่าคอลัมน์ใหม่ที่เรียกว่า team_last3 มีอักขระสามตัวสุดท้ายของแต่ละสตริงในคอลัมน์ ทีม ของกรอบข้อมูล

ตัวอย่างที่ 2: แยกสตริงย่อยจากจุดสิ้นสุดโดยใช้แพ็คเกจ stringr

รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน str_sub() จากแพ็คเกจ stringr ใน R เพื่อแยกอักขระสามตัวสุดท้ายจากแต่ละสตริงในคอลัมน์ ทีม :

 library (stringr)

#create new column that extracts last 3 characters from team column
df$team_last3 <- str_sub(df$team, start = - 3 )

#view updated data frame
df

       team points team_last3
1 Mavericks 100 cks
2 Lakers 143ers
3 Hawks 129 wks
4 Nets 113 ets
5 Warriors 123 gold

โปรดทราบว่าคอลัมน์ใหม่ที่เรียกว่า team_last3 มีอักขระสามตัวสุดท้ายของแต่ละสตริงในคอลัมน์ ทีม ของกรอบข้อมูล

ซึ่งสอดคล้องกับผลลัพธ์ของวิธีก่อนหน้าโดยใช้พื้นฐาน R

ที่เกี่ยวข้อง : บทนำเกี่ยวกับฟังก์ชัน str_sub ใน R

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

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

วิธีเลือกคอลัมน์ที่มีสตริงเฉพาะใน R
วิธีลบอักขระออกจากสตริงใน R
วิธีค้นหาตำแหน่งอักขระในสตริงใน R

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

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