วิธีนับรายการที่ซ้ำกันใน 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 เพื่อไม่ให้เหลือ