Как подсчитать наблюдения на группу в r


Часто вас может заинтересовать подсчет количества наблюдений на группу в R.

К счастью, это легко сделать с помощью функции count() библиотеки dplyr .

В этом руководстве объясняется несколько примеров практического использования этой функции с использованием следующего фрейма данных:

 #create data frame
df <- data.frame(team = c('A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'C', 'C' , 'CC'),
                 position = c('G', 'G', 'F', 'G', 'F', 'F', 'F', 'G', 'G', 'F', 'F', 'F '),
                 points = c(4, 13, 7, 8, 15, 15, 17, 9, 21, 22, 25, 31))

#view data frame
df

   team position points
1 GA 4
2 AG 13
3AF 7
4 BG 8
5 BF 15
6 BF 15
7 BF 17
8 BG 9
9 GC 21
10 CF 22
11 CF 25
12 CF 31

Пример 1: подсчет по переменной

Следующий код показывает, как подсчитать общее количество игроков в команде:

 library (dplyr)

#count total observations by variable 'team'
df %>% count(team)

# A tibble: 3 x 2
  team n
   
1 to 3
2 B 5
3 C 4

По результату мы видим, что:

  • Команда А состоит из 3 игроков.
  • Команда Б состоит из 5 игроков.
  • Команда C состоит из 4 игроков.

Эта единственная функция count() дает нам хорошее представление о распределении игроков по командам.

Обратите внимание, что мы также можем отсортировать счетчики, если захотим:

 #count total observations by variable 'team'
df %>% count(team, sort= TRUE )

# A tibble: 3 x 2
  team n
   
1 B 5
2 C 4
3 to 3

Пример 2: Счет по нескольким переменным

Мы также можем сортировать по нескольким переменным:

 #count total observations by 'team' and 'position'
df %>% count(team, position)

# A tibble: 6 x 3
  team position n
       
1 AF 1
2 AG 2
3 BF 3
4 BG 2
5 CF 3
6 GC 1

По результату мы видим, что:

  • В команде А есть 1 игрок на позиции «F» (нападающий) и 2 игрока на позиции «G» (защитник).
  • В команде Б есть 3 игрока на позиции «F» (нападающий) и 2 игрока на позиции «G» (защитник).
  • В команде C есть 3 игрока на позиции «F» (нападающий) и 1 игрок на позиции «G» (защитник).

Пример 3: взвешенное число

Мы также можем «взвешивать» значения одной переменной по другой переменной. Например, следующий код показывает, как подсчитать общее количество наблюдений на команду, используя переменную «points» в качестве веса:

 df %>% count(team, wt= points )

# A tibble: 3 x 2
  team n
   
1 to 24
2 B 64
3 C 99

Полную документацию по функции count() вы можете найти здесь .

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

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