วิธีใช้ str_match ใน r (พร้อมตัวอย่าง)
ฟังก์ชัน str_match() ของแพ็คเกจ stringr ใน R สามารถใช้เพื่อแยกกลุ่มที่ตรงกันออกจากสตริงได้
ฟังก์ชันนี้ใช้ไวยากรณ์ต่อไปนี้:
str_match(สตริง รูปแบบ)
ทอง:
- สตริง: เวกเตอร์อักขระ
- รุ่น: รุ่นที่จะค้นหา
ตัวอย่างต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้ในทางปฏิบัติ
ตัวอย่างที่ 1: ใช้ str_match กับ Vector
รหัสต่อไปนี้แสดงวิธีการใช้ฟังก์ชัน str_match() เพื่อแยกรูปแบบการจับคู่จากเวกเตอร์อักขระ:
library (stringr) #create vector of strings x <- c('Mavs', 'Cavs', 'Heat', 'Thunder', 'Blazers') #extract strings that contain 'avs' str_match(x, pattern=' avs ') [,1] [1,] “avs” [2,] “avs” [3,] NA [4,] NA [5,] NA
ผลลัพธ์คือเมทริกซ์ที่แต่ละแถวแสดงรูปแบบที่ตรงกันหรือค่า NA หากไม่พบรูปแบบนั้น
ตัวอย่างเช่น:
- พบรูปแบบ “avs” ในองค์ประกอบแรก “Mavs” ดังนั้นจึงส่งคืน “avs”
- พบรูปแบบ “avs” ในองค์ประกอบที่สอง “Cavs” ดังนั้นจึงส่งคืน “avs”
- ไม่พบรูปแบบ “avs” ในองค์ประกอบที่สาม “Heat” ดังนั้น NA จึงถูกส่งคืน
และอื่นๆ
ตัวอย่างที่ 2: ใช้ str_match กับ Data Frame
สมมติว่าเรามี data frame ต่อไปนี้ใน R:
#create data frame
df <- data. frame (team=c('Mavs', 'Cavs', 'Heat', 'Thunder', 'Blazers'),
points=c(99, 104, 110, 103, 115))
#view data frame
df
team points
1 Mavs 99
2 Cavs 104
3 Heat 110
4 Thunder 103
5 Blazers 115
รหัสต่อไปนี้แสดงวิธีการใช้ฟังก์ชัน str_match() เพื่อเพิ่มคอลัมน์ใหม่ลงในกรอบข้อมูลที่อาจมีหรือไม่มีรูปแบบที่ตรงกันสำหรับชื่อทีมแต่ละชื่อ:
library (stringr)
#create new column
df$match <- str_match(df$team, pattern=' avs ')
#view updated data frame
df
team points match
1 Mavs 99 avs
2 Cavs 104 avs
3 Heat 110 <NA>
4 Thunder 103 <NA>
5 Blazers 115 <NA>
คอลัมน์ใหม่ที่มีป้ายกำกับว่า ตรงกัน ประกอบด้วยเทมเพลต “avs” หรือ NA ขึ้นอยู่กับว่าเทมเพลตนั้นอยู่ในคอลัมน์ ทีม หรือไม่
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน R:
วิธีใช้ str_replace ใน R
วิธีใช้ str_split ใน R
วิธีใช้ str_detect ใน R
วิธีใช้ str_count ใน R
วิธีใช้ str_pad ใน R