R: удалить строки с одинаковыми во всех столбцах - PullRequest
2 голосов
/ 28 апреля 2011

Входной файл:

y <- read.table(textConnection('
   c1   c2   c3
1  a    b    -1
2  a    b    -1
3  a    c    1
4  a    b    1
5  a    b    -1
'), header=TRUE)

, таким образом, y равно

  c1 c2 c3
1  a  b -1
2  a  b -1
3  a  c  1
4  a  b  1
5  a  b  -1

, выходной файл будет:

  c1 c2 c3
1  a  b -1
3  a  c  1
4  a  b  1

Как удалить несколько или повторяющиеся строкис одинаковой записью во всех столбцах?

Ответы [ 4 ]

9 голосов
/ 28 апреля 2011

Попробуйте unique(y)

> unique(y)
  c1 c2 c3
1  a  b -1
3  a  c  1
4  a  b  1
3 голосов
/ 28 апреля 2011

? Уникальным. Остерегайтесь переменных с плавающей точкой, хотя ...

2 голосов
/ 28 апреля 2011

В дополнение к unique(), duplicated() также полезно для определения, какие строки являются дубликатами.

Например:

subset(y, !duplicated(y))

Но, как показывают Чейз и Ник, unique() это то, что вы ищете здесь и более эффективно.

0 голосов
/ 07 июля 2018

Вы также можете использовать Different () из пакета dplyr.

> library(dplyr, quietly = T)
> distinct(y)
  c1 c2 c3
1  a  b -1
2  a  c  1
3  a  b  1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...