ตอบ: วิธีใช้ %in% เพื่อกรองแถวที่มีค่าในรายการ


คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้กับตัวดำเนินการ %in% ใน R เพื่อกรองแถวที่มีค่าในรายการ:

 library (dplyr)

#specify team names to keep
team_names <- c(' Mavs ', ' Pacers ', ' Nets ')

#select all rows where team is in list of team names to keep
df_new <- df %>% filter(team %in% team_names)

ไวยากรณ์เฉพาะนี้จะกรองกรอบข้อมูลเพื่อเก็บเฉพาะแถวโดยที่ค่าของคอลัมน์ ทีม เท่ากับหนึ่งในสามค่าของเวกเตอร์ team_names ที่เราระบุ

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่าง: การใช้ %in% เพื่อกรองแถวที่มีค่าในรายการ

สมมติว่าเรามีกรอบข้อมูลต่อไปนี้ใน R ซึ่งมีข้อมูลเกี่ยวกับทีมบาสเก็ตบอลต่างๆ:

 #create data frame
df <- data. frame (team=c('Mavs', 'Pacers', 'Mavs', 'Celtics', 'Nets', 'Pacers'),
                 points=c(104, 110, 134, 125, 114, 124),
                 assists=c(22, 30, 35, 35, 20, 27))

#view data frame
df

     team points assists
1 Mavs 104 22
2 Pacers 110 30
3 Mavs 134 35
4 Celtics 125 35
5 Nets 114 20
6 Pacers 124 27

สมมติว่าเราต้องการกรองกรอบข้อมูลให้มีเฉพาะแถวที่มีค่าในคอลัมน์ ทีม เท่ากับหนึ่งในชื่อทีมต่อไปนี้:

  • แมฟ
  • เพเซอร์
  • อวน

เราสามารถใช้ไวยากรณ์ต่อไปนี้กับตัวดำเนินการ %in% เพื่อทำสิ่งนี้:

 library (dplyr)

#specify team names to keep
team_names <- c(' Mavs ', ' Pacers ', ' Nets ')

#select all rows where team is in list of team names to keep
df_new <- df %>% filter(team %in% team_names)

#view updated data frame
df_new

    team points assists
1 Mavs 104 22
2 Pacers 110 30
3 Mavs 134 35
4 Nets 114 20
5 Pacers 124 27

โปรดทราบว่าเฉพาะแถวที่มีค่า Mavs, Pacers หรือ Nets ในคอลัมน์ ทีม เท่านั้นที่จะถูกเก็บไว้

หากคุณต้องการกรองแถวที่ชื่อทีมไม่อยู่ในรายชื่อทีม เพียงเพิ่มเครื่องหมายอัศเจรีย์ ( ! ) หน้าชื่อคอลัมน์:

 library (dplyr)

#specify team names to not keep
team_names <- c(' Mavs ', ' Pacers ', ' Nets ')

#select all rows where team is not in list of team names to keep
df_new <- df %>% filter( ! team %in% team_names)

#view updated data frame
df_new

     team points assists
1 Celtics 125 35

โปรดทราบว่าเฉพาะแถวที่มีค่า ไม่เท่ากับ Mavs, Pacers หรือ Nets ในคอลัมน์ ทีม เท่านั้นที่จะถูกเก็บไว้

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

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

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

วิธีเลือกแถวแรกตามกลุ่มโดยใช้ dplyr
วิธีกรองตามเงื่อนไขต่างๆ โดยใช้ dplyr
วิธีกรองแถวที่มีสตริงบางตัวโดยใช้ dplyr

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

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