Сохранять первое вхождение строк независимо от столбца каждого элемента - PullRequest
0 голосов
/ 06 июня 2018

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

В приведенном ниже примере строки 1 и 3 следует считать равными.Для функции foo не должно иметь значения, находится ли элемент в col1 или col2.

df <- data.frame(col1 = c('a', 'b', '1'), col2 = c('1', '2', 'a'))


foo(df)

>   col1 col2
> 1    a    1
> 2    b    2

1 Ответ

0 голосов
/ 06 июня 2018

Вы можете сделать что-то вроде этого ..

df[!duplicated(t(apply(df,1,sort))),]

  col1 col2
1    a    1
2    b    2

Он сортирует каждую строку (так что a-1 и 1-a заканчиваются одинаковыми), а затем выбирает только те строки dfкоторые не являются дубликатами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...