Как удалить повторяющиеся строки в 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