Як групувати та фільтрувати дані за допомогою dplyr
Ви можете використовувати наступний базовий синтаксис для групування та фільтрації даних за допомогою пакета dplyr у R:
df %>% group_by(team) %>% filter(any(points = = 10 ))
Цей конкретний синтаксис групує фрейм даних на стовпець під назвою team і фільтрує лише групи, де принаймні одне значення в стовпці балів дорівнює 10.
У наступному прикладі показано, як використовувати цей синтаксис на практиці.
Приклад: групуйте та фільтруйте дані за допомогою dplyr
Припустимо, у R є наступний кадр даних, який містить інформацію про різних баскетболістів:
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'),
points=c(10, 15, 8, 4, 10, 10, 12, 12, 7))
#view data frame
df
team points
1 to 10
2 to 15
3 to 8
4 B 4
5 B 10
6 B 10
7 C 12
8 C 12
9 C 7
Ми можемо використати такий код, щоб згрупувати фрейм даних за значенням у стовпці Team , а потім відфільтрувати всі групи, які не мають принаймні одного значення у стовпці Points , що дорівнює 10:
library (dplyr)
#group by team and filter out teams where no points value is equal to 10
df %>%
group_by(team) %>%
filter(any(points == 10 ))
# A tibble: 6 x 2
# Groups: team [2]
team points
1 to 10
2 to 15
3 to 8
4 B 4
5 B 10
6 B 10
Зауважте, що всі рядки, де команда дорівнює «C», фільтруються, оскільки в стовпці очок для команди «C» немає значення, яке дорівнює 10.
Зауважте, що це лише приклад фільтра, який ми можемо застосувати.
Наприклад, ми можемо застосувати інший фільтр, у якому ми фільтруємо команди з принаймні одним значенням у стовпці балів більше 13:
library (dplyr)
#group by team and filter out teams where no points value is greater than 13
df %>%
group_by(team) %>%
filter(any(points > 13 ))
# A tibble: 3 x 2
# Groups: team [1]
team points
1 to 10
2 to 15
3 to 8
Зауважте, що зберігаються лише рядки, у яких команда дорівнює «А», оскільки це єдина команда, у якої принаймні одне очко перевищує 13.
Примітка : Ви можете знайти повну документацію функції фільтра в dplyr тут .
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові операції в dplyr:
Як вибрати перший рядок групою за допомогою dplyr
Як фільтрувати за кількома умовами за допомогою dplyr
Як фільтрувати рядки, що містять певний рядок, за допомогою dplyr