Як знайти повторювані елементи за допомогою 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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *