Ответ: как найти уникальные строки в нескольких столбцах


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

Способ 1: найти уникальные строки в нескольких столбцах (удалить другие столбцы)

 df_unique <- unique(df[c(' col1 ', ' col2 ')])

Способ 2. Найдите уникальные строки в нескольких столбцах (остальные столбцы сохраните).

 df_unique <- df[!duplicated(df[c(' col1 ', ' col2 ')]),]

Следующие примеры показывают, как использовать каждый из этих методов на практике со следующим фреймом данных:

 #create data frame
df <- data. frame (conf=c('East', 'East', 'East', 'West', 'West', 'West'),
                 pos=c('G', 'G', 'F', 'G', 'F', 'F'),
                 dots=c(33, 28, 31, 39, 34, 40))

#view data frame
df

  conf pos points
1 East G 33
2 East G 28
3 East F 31
4 West G 39
5 West F 34
6 West F 40

Способ 1: найти уникальные строки в нескольких столбцах (удалить другие столбцы)

Следующий код показывает, как найти уникальные строки в столбцах conf и pos фрейма данных:

 #find unique rows across conf and pos columns
df_unique <- unique(df[c(' conf ', ' pos ')])

#view results
df_unique 

  conf pos
1 East G
3 East
4 West G
5 West

В результате получаются четыре уникальные строки.

Также обратите внимание, что столбец баллов был автоматически удален из результатов.

Метод 2: найти отдельные строки в нескольких столбцах (удалить другие столбцы)

Следующий код показывает, как найти отдельные строки в столбцах conf и pos фрейма данных и сохранить значения в столбце точек :

 #find unique rows across conf and pos columns
df_unique <- df[!duplicated(df[c(' conf ', ' pos ')]),]

#view results
df_unique 

  conf pos points
1 East G 33
3 East F 31
4 West G 39
5 West F 34

Обратите внимание, что в столбцах conf и pos существуют только отдельные строки, а значения в столбце точек сохраняются.

Важно отметить, что сохраняется только значение первого уникального вхождения.

Например, в первых двух столбцах было две строки, содержащие «Восток» и «G», но в конечном фрейме данных сохранилось только значение балла (33) для первого появления этой уникальной комбинации.

Аналогичным образом, в первых двух столбцах были две строки, содержащие «Запад» и «F», но в конечном фрейме данных сохранилось только значение балла (34) для первого появления этой уникальной комбинации.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:

Как найти уникальные значения в столбце в R
Как посчитать уникальные значения по группам в R
Как фильтровать уникальные значения с помощью dplyr

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *