A: як групувати та рахувати за умовою
Ви можете використовувати наступний базовий синтаксис для виконання умови групування та підрахунку в R:
library (dplyr) df %>% group_by(var1) %>% summarize(count = sum(var2 == ' val '))
Цей конкретний синтаксис групує рядки кадру даних на основі var1 , а потім підраховує кількість рядків, де var2 дорівнює “val”.
У наступному прикладі показано, як використовувати цей синтаксис на практиці.
Приклад: групування та підрахунок із умовою в R
Припустимо, у R є наступний кадр даних, який містить інформацію про різних баскетболістів:
#create data frame df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'), pos=c('Gu', 'Fo', 'Fo', 'Fo', 'Gu', 'Gu', 'Fo', 'Fo'), points=c(18, 22, 19, 14, 14, 11, 20, 28)) #view data frame df team pos points 1 A Gu 18 2 A Fo 22 3 A Fo 19 4 A Fo 14 5 B Gu 14 6 B Gu 11 7 B Fo 20 8 B Fo 28
У наведеному нижче коді показано, як згрупувати кадр даних за командною змінною та підрахувати кількість рядків, де змінна pos дорівнює “Gu”:
library (dplyr)
#group by team and count rows where pos is 'Gu'
df %>%
group_by(team) %>%
summarize(count = sum(pos == ' Gu '))
# A tibble: 2 x 2
team count
1 to 1
2 B 2
З результату ми бачимо:
- Команда A має 1 рядок, у якому стовпець пози дорівнює «Gu»
- Команда B має 2 рядки, у яких стовпець пози дорівнює «Gu»
Ми можемо використовувати аналогічний синтаксис для групування та підрахунку з умовою числа.
Наприклад, у наведеному нижче коді показано, як згрупувати за змінною команди та підрахувати кількість рядків, де значення змінної Points перевищує 15:
library (dplyr)
#group by team and count rows where pos is 'Gu'
df %>%
group_by(team) %>%
summarize(count = sum(points > 15 ))
# A tibble: 2 x 2
team count
1 to 3
2 B 2
З результату ми бачимо:
- Команда А має 3 рядки, де стовпчик очок більше 15
- Команда B має 2 рядки, у яких стовпчик очок більше 15
Ви можете використовувати подібний синтаксис для групування та підрахунку з будь-якою конкретною умовою.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання в R:
Як порахувати значення в стовпці з умовою в R
Як вибрати перші N значень за групою в R