วิธีนับรายการที่ซ้ำกันใน r: พร้อมตัวอย่าง


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

วิธีที่ 1: นับค่าที่ซ้ำกันในคอลัมน์

 sum(duplicated(df$my_column))

วิธีที่ 2: นับแถวที่ซ้ำกัน

 nrow(df[duplicated(df), ])

วิธีที่ 3: นับรายการที่ซ้ำกันสำหรับแต่ละแถวที่ไม่ซ้ำ

 library (dplyr)

df %>% group_by_all() %>% count

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

 #create data frame
df = data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                position=c('G', 'G', 'G', 'F', 'G', 'G', 'F', 'F'),
                points=c(5, 5, 8, 10, 5, 7, 10, 10))

#view data frame
df

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

ตัวอย่างที่ 1: นับค่าที่ซ้ำกันในคอลัมน์

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

 #count number of duplicate values in points column
sum(duplicated(df$points))

[1] 4

เราจะเห็นว่ามีค่าซ้ำกัน 4 ค่าในคอลัมน์ คะแนน

ตัวอย่างที่ 2: นับแถวที่ซ้ำกัน

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

 #count number of duplicate rows
nrow(df[duplicated(df), ])

[1] 2

เราจะเห็นว่ามี 2 แถวที่ซ้ำกันในกรอบข้อมูล

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

 #display duplicated rows
df[duplicated(df), ]

  team position points
2 AG 5
8 BF 10

ตัวอย่างที่ 3: นับรายการที่ซ้ำกันสำหรับแต่ละแถวที่ไม่ซ้ำ

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

 library (dplyr)

#count number of duplicate rows in data frame
df %>% group_by_all() %>% count

# A tibble: 6 x 4
# Groups: team, position, points [6]
  team position points n
         
1 AF 10 1
2 AG 5 2
3 GA 8 1
4 BF 10 2
5 BG 5 1
6 BG 7 1

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

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

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

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

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

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