Как удалить повторяющиеся строки в r (с примерами)


Вы можете использовать один из двух методов для удаления повторяющихся строк из фрейма данных в R:

Метод 1: используйте базу R

 #remove duplicate rows across entire data frame
df[ ! duplicated(df), ]

#remove duplicate rows across specific columns of data frame
df[ ! duplicated(df[c(' var1 ')]), ]

Способ 2: используйте dplyr

 #remove duplicate rows across entire data frame 
df %>%
  distinct(.keep_all = TRUE )

#remove duplicate rows across specific columns of data frame
df %>%
  distinct(var1, .keep_all = TRUE )

Следующие примеры показывают, как использовать этот синтаксис на практике со следующим фреймом данных:

 #define data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'),
                 position=c('Guard', 'Guard', 'Forward', 'Guard', 'Center', 'Center'))

#view data frame
df

  team position
1A Guard
2 A Guard
3 A Forward
4 B Guard
5B Center
6B Center

Пример 1. Удаление повторяющихся строк с помощью Base R

Следующий код показывает, как удалить повторяющиеся строки из фрейма данных с помощью базовых функций R:

 #remove duplicate rows from data frame
df[ ! duplicated(df), ]

  team position
1A Guard
3 A Forward
4 B Guard
5B Center

Следующий код показывает, как удалить повторяющиеся строки из определенных столбцов во фрейме данных с использованием базы R:

 #remove rows where there are duplicates in the 'team' column
df[ ! duplicated(df[c(' team ')]), ]

  team position
1A Guard
4 B Guard

Пример 2. Удаление повторяющихся строк с помощью dplyr

Следующий код показывает, как удалить повторяющиеся строки из фрейма данных с помощью функции Different() из пакета dplyr :

 library (dplyr)

#remove duplicate rows from data frame
df %>%
  distinct(.keep_all = TRUE )

  team position
1A Guard
2 A Forward
3 B Guard
4B Center

Обратите внимание, что аргумент .keep_all указывает R сохранять все столбцы в исходном фрейме данных.

Следующий код показывает, как использовать функцию Different() для удаления повторяющихся строк из определенных столбцов во фрейме данных:

 library (dplyr)

#remove duplicate rows from data frame
df %>%
  distinct(team, .keep_all = TRUE )

  team position
1A Guard
2 B Guard

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные функции в R:

Как удалить строки в R по условию
Как удалить строки с NA в определенном столбце в R

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

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