Як розрахувати відсоток по групах у r (з прикладом)
Ви можете використовувати такий синтаксис, щоб обчислити відсоток за групою в R:
library (dplyr)
df %>%
group_by(group_var) %>%
mutate(percent = value_var/sum(value_var))
У наступному прикладі показано, як використовувати цей синтаксис на практиці.
Приклад: обчисліть відсоток за групою в R
Припустимо, у нас є наступний кадр даних, який показує очки, набрані баскетболістами з різних команд:
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'),
points=c(12, 29, 34, 14, 10, 11, 7, 36, 34, 22))
#view data frame
df
team points
1 to 12
2 to 29
3 to 34
4 to 14
5 to 10
6 B 11
7 B 7
8 B 36
9 B 34
10 B 22
Ми можемо використати наступний код, щоб створити новий стовпець у фреймі даних, який відображає відсоток загальної кількості набраних балів, згрупованих за командами:
library (dplyr) #calculate percentage of points scored, grouped by team df %>% group_by(team) %>% mutate(percent = points/sum(points)) # A tibble: 10 x 3 # Groups: team [2] team points percent 1 to 12 0.121 2 A 29 0.293 3 A 34 0.343 4 A 14 0.141 5 A 10 0.101 6 B 11 0.1 7 B 7 0.0636 8 B 36 0.327 9 B 34 0.309 10 B 22 0.2
У стовпці «Відсоток» вказано відсоток загальної кількості очок, набраних цим гравцем у його команді.
Наприклад, гравці команди А загалом набрали 99 очок.
Отже, гравець у першому рядку кадру даних, який набрав 12 очок, загалом набрав 12/99 = 12,12% від загальної кількості очок команди A.
Подібним чином гравець другого рядка в базі даних, який набрав 29 очок, набрав 29/99 = 29,29% від загальної кількості очок для команди А.
І так далі.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання в R:
Як підрахувати унікальні значення по групі в R
Як розрахувати підсумкову статистику по групах у R
Як обчислити суму за групою в R