วิธีค้นหาองค์ประกอบที่ซ้ำกันโดยใช้ dplyr


คุณสามารถใช้วิธีการต่อไปนี้เพื่อค้นหาองค์ประกอบที่ซ้ำกันในกรอบข้อมูลโดยใช้ dplyr:

วิธีที่ 1: แสดงแถวที่ซ้ำกันทั้งหมด

 library (dplyr)

#display all duplicate rows
df %>%
  group_by_all() %>%
  filter(n()> 1 ) %>%
  A group()

วิธีที่ 2: แสดงจำนวนรายการที่ซ้ำกันสำหรับแถวที่ซ้ำกันทั้งหมด

 library (dplyr)

#display duplicate count for all duplicated rows
df %>%
  add_count(col1, col2, col3) %>%
  filter(n> 1 ) %>%
  distinct()

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

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'),
                 points=c(10, 10, 8, 14, 15, 15, 17, 17))

#view data frame
df

  team position points
1 AG 10
2 AG 10
3AF 8
4 AF 14
5 BG 15
6 BG 15
7 BF 17
8 BF 17

ตัวอย่างที่ 1: แสดงแถวที่ซ้ำกันทั้งหมด

รหัสต่อไปนี้แสดงวิธีการแสดงแถวที่ซ้ำกันทั้งหมดในกรอบข้อมูล:

 library (dplyr)

#display all duplicate rows in data frame
df %>%
  group_by_all() %>%
  filter(n()> 1 ) %>%
  A group()

# A tibble: 6 x 3
  team position points
        
1 AG 10
2 AG 10
3 BG 15
4 BG 15
5 BF 17
6 BF 17

ผลลัพธ์ที่ได้คือกรอบข้อมูลที่มี 6 แถว ซึ่งแต่ละแถวเป็นแถวที่ซ้ำกัน

หมายเหตุ : หากคุณต้องการทราบว่าแถวใดมีค่าซ้ำกันในคอลัมน์ใดคอลัมน์หนึ่ง คุณสามารถใช้บางอย่างเช่น group_by(ทีม) แทนเพื่อค้นหาแถวที่มีค่าซ้ำกันในคอลัมน์ ทีม เท่านั้น

ตัวอย่างที่ 2: แสดงจำนวนรายการที่ซ้ำกันสำหรับแถวที่ซ้ำกันทั้งหมด

รหัสต่อไปนี้แสดงวิธีการแสดงจำนวนซ้ำสำหรับแถวที่ซ้ำกันทั้งหมดในกรอบข้อมูล:

 library (dplyr)

#display duplicate count for each row
df %>%
  add_count(team, position, points) %>%
  filter(n> 1 ) %>%
  distinct()

  team position points n
1 GA 10 2
2 BG 15 2
3 BF 17 2

คอลัมน์ n แสดงจำนวนรายการที่ซ้ำกันทั้งหมดสำหรับแต่ละแถว

ตัวอย่างเช่น:

  • บรรทัดที่มีค่า A, G และ 10 ปรากฏขึ้น 2 ครั้งในบล็อกข้อมูล
  • บรรทัดที่มีค่า B, G และ 15 ปรากฏ 2 ครั้งในบล็อกข้อมูล
  • บรรทัดที่มีค่า B, F และ 17 ปรากฏ 2 ครั้งในบล็อกข้อมูล

หมายเหตุ : หากคุณต้องการทราบว่าแถวใดมีค่าซ้ำกันในคอลัมน์ใดคอลัมน์หนึ่ง ให้รวมเฉพาะคอลัมน์เหล่านั้นในฟังก์ชัน add_count()

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

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

วิธีกรองค่าที่ไม่ซ้ำโดยใช้ dplyr
วิธีกรองตามเงื่อนไขต่างๆ โดยใช้ dplyr
วิธีนับจำนวนครั้งที่เกิดขึ้นในคอลัมน์ใน R

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

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