Вы можете использовать один из следующих двух методов для удаления повторяющихся строк из фрейма данных в 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
1 A Guard
2 A Guard
3 A Forward
4 B Guard
5 B Center
6 B Center
Пример 1. Удаление повторяющихся строк с помощью базы R
В следующем коде показано, как удалить повторяющиеся строки из фрейма данных с помощью функций из базы R:
#remove duplicate rows from data frame
df[ ! duplicated(df), ]
team position
1 A Guard
3 A Forward
4 B Guard
5 B Center
В следующем коде показано, как удалить повторяющиеся строки из определенных столбцов фрейма данных с помощью базы R:
#remove rows where there are duplicates in the 'team' column
df[ ! duplicated(df[c('team')]), ]
team position
1 A Guard
4 B Guard
Пример 2. Удаление повторяющихся строк с помощью dplyr
В следующем коде показано, как удалить повторяющиеся строки из фрейма данных с помощью функции Different () из пакета dplyr :
library(dplyr)
#remove duplicate rows from data frame
df %>%
distinct(.keep_all = TRUE )
team position
1 A Guard
2 A Forward
3 B Guard
4 B Center
Обратите внимание, что аргумент .keep_all указывает R сохранить все столбцы из исходного фрейма данных.
В следующем коде показано, как использовать функцию different() для удаления повторяющихся строк из определенных столбцов фрейма данных:
library(dplyr)
#remove duplicate rows from data frame
df %>%
distinct(team, .keep_all = TRUE )
team position
1 A Guard
2 B Guard
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные функции в R:
Как удалить строки в R на основе условия
Как удалить строки с NA в одном конкретном столбце в R