Dplyr: як узагальнити дані, але зберегти всі стовпці
Під час використання функції summarise() у dplyr будь-які змінні, не включені до функцій summarise() або group_by() , будуть автоматично видалені.
Однак ви можете використовувати функцію mutate() , щоб узагальнити дані, зберігаючи всі стовпці у фреймі даних.
У наступному прикладі показано, як використовувати цю функцію на практиці.
Приклад: підсумуйте дані, але збережіть усі стовпці за допомогою dplyr
Припустимо, що у нас є наступний кадр даних, що містить інформацію про різних баскетболістів:
#create data frame df <- data. frame (team=rep(c(' A ', ' B ', ' C '), each= 3 ), points=c(4, 9, 8, 12, 15, 14, 29, 30, 22), assists=c(3, 3, 2, 5, 8, 10, 4, 5, 12)) #view data frame df team points assists 1 to 4 3 2 to 9 3 3 to 8 2 4 B 12 5 5 B 15 8 6 B 14 10 7 C 29 4 8 C 30 5 9 C 22 12
Ми можемо використати такий синтаксис, щоб підсумувати середні бали , набрані командою :
library (dplyr) #summarize mean points values by team df %>% group_by(team) %>% summarize(mean_pts = mean(points)) # A tibble: 3 x 2 team mean_pts 1 to 7 2 B 13.7 3 C 27
Стовпець під назвою Mean_pts відображає середні бали, набрані кожною командою.
З результату ми бачимо:
- Середня кількість очок, набраних гравцями команди А, становить 7 .
- Середній бал, набраний гравцями команди Б, становить 13,7 .
- Середня кількість очок, набраних гравцями команди C, становить 27 .
Однак, скажімо, ми хочемо зберегти всі інші стовпці з вихідного кадру даних.
Для цього ми можемо використати такий синтаксис із функцією mutate() :
library (dplyr) #summarize mean points values by team and keep all columns df %>% group_by(team) %>% mutate(mean_pts = mean(points)) %>% A group() # A tibble: 9 x 4 team points assists mean_pts 1 to 4 3 7 2 to 9 3 7 3 to 8 2 7 4 B 12 5 13.7 5 B 15 8 13.7 6 B 14 10 13.7 7 C 29 4 27 8 C 30 5 27 9 C 22 12 27
Використовуючи функцію mutate() , ми можемо створити новий стовпець під назвою Mean_pts , який підсумовує середні бали, набрані командою, зберігаючи всі інші стовпці з вихідного кадру даних.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання в dplyr:
dplyr: Як змінити змінну, якщо стовпець містить рядок
dplyr: Як змінити рівні факторів за допомогою mutate()
dplyr: Як додати кілька стовпців