Як групувати та фільтрувати дані за допомогою 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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *