Ответ: как найти уникальные строки в нескольких столбцах
Вы можете использовать следующие методы для поиска уникальных строк в нескольких столбцах фрейма данных в 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