วิธีแยกตัวเลขออกจากสตริงใน r (พร้อมตัวอย่าง)


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

วิธีที่ 1: แยกหมายเลขสตริงโดยใช้ฐาน R

 as. numeric (gsub(" \\D ", "", df$my_column))

วิธีที่ 2: แยกหมายเลขสตริงโดยใช้แพ็คเกจ readr

 library (readr)

parse_number(df$my_column)

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

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'),
                 position=c('Guard23', 'Guard14', '2Forward',
                            'Guard25', '6Forward', 'Center99'))

#view data frame
df

  team position
1A Guard23
2A Guard14
3 A 2Forward
4 B Guard25
5 B 6Forward
6 B Center99

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

รหัสต่อไปนี้แสดงวิธีการแยกตัวเลขจากแต่ละสายอักขระในคอลัมน์ ตำแหน่ง ของกรอบข้อมูล:

 #extract number from each string in 'position' column
as. numeric (gsub(" \\D ", "", df$position))

[1] 23 14 2 25 6 99

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

หมายเหตุ : ฟังก์ชัน gsub() จะแทนที่ตัวเลขที่ไม่ใช่ตัวเลข ( \\D ) ทั้งหมดในสตริงด้วยพื้นที่ว่าง สิ่งนี้มีผลในการแยกเฉพาะตัวเลขจากสตริง

หากต้องการ คุณยังสามารถเก็บค่าตัวเลขเหล่านี้ไว้ในคอลัมน์ใหม่ในกรอบข้อมูลได้:

 #create new column that contains numbers from each string in 'position' column
df$num <- as. numeric (gsub(" \\D ", "", df$position))

#view updated data frame
df

  team position number
1A Guard23 23
2A Guard14 14
3 A 2Forward 2
4 B Guard25 25
5 B 6Forward 6
6 B Center99 99

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

รหัสต่อไปนี้แสดงวิธีการแยกตัวเลขจากแต่ละสตริงในคอลัมน์ ตำแหน่ง ของกรอบข้อมูลโดยใช้ฟังก์ชัน parse_number() จากแพ็คเกจ readr :

 library (readr)

#extract number from each string in 'position' column
parse_number(df$position)

[1] 23 14 2 25 6 99

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

ซึ่งสอดคล้องกับผลลัพธ์ของการใช้ฟังก์ชัน gsub() ในฐาน R

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

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

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

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

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