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
По результату мы видим:
- У команды А есть 1 строка, в которой столбец позиции равен «Гу».
- У команды Б есть 2 строки, в которых столбец позиции равен «Гу».
Мы можем использовать аналогичный синтаксис для группировки и подсчета с числовым условием.
Например, следующий код показывает, как выполнить группировку по переменной команды и подсчитать количество строк, в которых переменная точек больше 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.
- У команды Б есть 2 строки, в которых столбец очков больше 15.
Вы можете использовать аналогичный синтаксис для группировки и подсчета с любым конкретным условием.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:
Как посчитать значения в столбце с условием в R
Как выбрать первые N значений по группе в R