Как выбрать отдельные строки во фрейме данных в r
Вы можете использовать следующие методы для выбора отдельных строк во фрейме данных в R:
Способ 1: выберите отдельные строки во всех столбцах
library (dplyr)
df %>% distinct()
Способ 2: выбор отдельных строк на основе столбца
library (dplyr)
df %>% distinct(column1, . keep_all = TRUE )
Способ 3: выберите отдельные строки на основе нескольких столбцов
library (dplyr)
df %>% distinct(column1, column2, . keep_all = TRUE )
В этом руководстве объясняется, как использовать каждый метод на практике со следующим фреймом данных:
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
position=c('G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'),
points=c(10, 10, 8, 14, 15, 15, 17, 17))
#view data frame
df
team position points
1 AG 10
2 AG 10
3AF 8
4 AF 14
5 BG 15
6 BG 15
7 BF 17
8 BF 17
Пример 1. Выбор уникальных строк во всех столбцах
Следующий код показывает, как выбрать строки с уникальными значениями во всех столбцах фрейма данных:
library (dplyr)
#select rows with unique values across all columns
df %>% distinct()
team position points
1 AG 10
2AF 8
3 AF 14
4 BG 15
5 BF 17
Мы видим, что во фрейме данных есть пять уникальных строк.
Примечание . При обнаружении повторяющихся строк сохраняется только первая уникальная строка.
Пример 2. Выбор отдельных строк на основе столбца
Следующий код показывает, как выбрать отдельные строки только на основе столбца группы .
library (dplyr)
#select rows with unique values based on team column only
df %>% distinct(team, . keep_all = TRUE )
team position points
1 AG 10
2 BG 15
Поскольку в столбце «Команда» только два уникальных значения, сохраняются только строки с первым появлением каждого значения.
Примечание . Аргумент .keep_all=TRUE указывает R сохранять все остальные столбцы в выходных данных.
Пример 3. Выбор отдельных строк на основе нескольких столбцов
Следующий код показывает, как выбрать отдельные строки только на основе столбцов команды и позиции .
library (dplyr)
#select rows with unique values based on team and position columns only
df %>% distinct(team, position, . keep_all = TRUE )
team position points
1 AG 10
2AF 8
3 BG 15
4 BF 17
Возвращаются четыре строки, поскольку в столбцах «Команда » и «Позиция» имеются четыре уникальные комбинации значений.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:
Как фильтровать уникальные значения с помощью dplyr
Как фильтровать по нескольким условиям с помощью dplyr
Как подсчитать количество вхождений в столбцах в R