Como contar observações por grupo em r


Muitas vezes você pode estar interessado em contar o número de observações por grupo em R.

Felizmente, isso é fácil de fazer usando a função count() da biblioteca dplyr .

Este tutorial explica vários exemplos de uso prático desta função usando o seguinte data frame:

 #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

Exemplo 1: contagem por uma variável

O código a seguir mostra como contar o número total de jogadores por equipe:

 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

Pelo resultado podemos ver que:

  • A equipe A é composta por 3 jogadores
  • A equipe B é composta por 5 jogadores
  • A equipe C é composta por 4 jogadores

Esta função count() única nos dá uma boa ideia da distribuição de jogadores por equipe.

Observe que também podemos classificar as contagens se quisermos:

 #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

Exemplo 2: Contando por diversas variáveis

Também podemos classificar por diversas variáveis:

 #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

Pelo resultado podemos ver que:

  • O Time A possui 1 jogador na posição “F” (avançado) e 2 jogadores na posição “G” (guarda).
  • O Time B possui 3 jogadores na posição “F” (atacante) e 2 jogadores na posição “G” (guarda).
  • O Time C possui 3 jogadores na posição “F” (avançado) e 1 jogador na posição “G” (guarda).

Exemplo 3: número ponderado

Também podemos “ponderar” as contagens de uma variável por outra variável. Por exemplo, o código a seguir mostra como contar o total de observações por equipe, usando a variável “pontos” como peso:

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

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

Você pode encontrar a documentação completa da função count() aqui .

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *