Como criar uma tabela de frequência por grupo em r


Você pode usar as seguintes funções do pacote dplyr para criar uma tabela de frequência por grupo em R:

 library (dplyr)

df %>%
  group_by (var1, var2) %>%
  summarize (Freq=n())

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: Crie uma tabela de frequência por grupo

Suponha que temos o seguinte quadro de dados em R:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'G', 'F', 'G', 'F', 'F', 'C'))

#view data frame
df

  team position
1 AG
2 AG
3 AG
4 AF
5 BG
6 BF
7 BF
8 BC

Digamos que queremos criar uma tabela de frequência mostrando a frequência de cada posição, agrupada por equipe.

Podemos usar a seguinte sintaxe para fazer isso:

 library (dplyr)

#calculate frequency of position, grouped by team
df %>%
group_by (team, position) %>%
summarize (Freq=n())

# A tibble: 5 x 3
# Groups: team [2]
  team position Freq
       
1 AF 1
2 AG 3
3 BC 1
4 BF 2
5 BG 1

Veja como interpretar o resultado:

  • 1 jogador da equipe A ocupa a posição “F”
  • 3 jogadores da equipe A ocupam a posição ‘G’
  • 1 jogador da equipe B ocupa a posição “C”
  • 2 jogadores da equipe B ocupam a posição ‘F’
  • 1 jogador da equipe B ocupa a posição “G”

Observe que podemos renomear a coluna que contém as frequências alterando o nome da variável na função summary() .

Por exemplo, poderíamos renomear a coluna “count”:

 library (dplyr)

#calculate frequency of position, grouped by team
df %>%
  group_by (team, position) %>%
  summarize (count=n())

# A tibble: 5 x 3
# Groups: team [2]
  team position count
       
1 AF 1
2 AG 3
3 BC 1
4 BF 2
5 BG 1

Recursos adicionais

Os tutoriais a seguir explicam como executar outras funções comuns no dplyr:

Como calcular frequências relativas usando dplyr
Como classificar variáveis por grupo usando dplyr
Como selecionar colunas por índice usando dplyr

Add a Comment

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