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