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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *