Як знайти повторювані елементи за допомогою 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(team) , щоб знайти рядки, які мають повторювані значення лише в стовпці team .
Приклад 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