Как я могу удалить строку, которая является дубликатом для определенных столбцов, и сохранить одну строку с определенным значением / символом не дублирующегося столбца - PullRequest
1 голос
/ 27 апреля 2019

Как удалить строку, которая является дубликатом для определенных столбцов, и сохранить одну строку с определенным значением / символом столбца, не являющегося дубликатом?

Другими словами: Как я могу выбрать, какую строку оставить, а другую удалить с некоторыми повторяющимися столбцами

Это для R data.frame.

Я уже пробовал:

Data.frame is X

 deduped.data <- unique( X[ , 1:5 ] )

проблема: я не могу сохранить столбец с неповторяющейся строкой

X <- X %>% distinct()

проблема: я не могу сказать, какая строка может быть удалена с дубликатами в некоторых столбцах

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

deduped.data <- unique( X[ , 1:5 ] )
X <- X %>% distinct()

Пример

Data.frame X:

Ряд 1: Пол: Мужской, Возраст: 20, Страна: Италия

Ряд 2: Пол: Мужской, Возраст: 20, Страна: Франция

Строка 3 и т. Д.

Я хочу удалить дубликаты столбцов 1 и 2 и сохранить страну Италия. Я ожидаю, что строка 2 удаляется. unique() ни distinct() не могут сделать это, насколько я вижу.

1 Ответ

0 голосов
/ 27 апреля 2019

При этом удаляются дубликаты, вы можете указать столбец в дублированном аргументе. Если вы хотите сохранить не дубликаты, вы можете удалить!

X <- X[, !duplicated(colnames(X))]

...