Как найти повторяющиеся элементы с помощью 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) , чтобы найти строки, которые имеют повторяющиеся значения только в столбце команды .

Пример 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *