Come creare una tabella di frequenza per gruppo in r
È possibile utilizzare le seguenti funzioni dal pacchetto dplyr per creare una tabella di frequenza per gruppo in R:
library (dplyr) df %>% group_by (var1, var2) %>% summarize (Freq=n())
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: creare una tabella di frequenza per gruppo
Supponiamo di avere il seguente frame di dati in 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
Diciamo che vogliamo creare una tabella di frequenza che mostri la frequenza di ciascuna posizione, raggruppata per squadra.
Possiamo usare la seguente sintassi per fare ciò:
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
Ecco come interpretare il risultato:
- 1 giocatore della squadra A occupa la posizione “F”
- 3 giocatori della squadra A hanno la posizione ‘G’
- 1 giocatore della squadra B occupa la posizione “C”
- 2 giocatori della squadra B hanno la posizione ‘F’
- 1 giocatore della squadra B occupa la posizione “G”
Tieni presente che possiamo rinominare la colonna che contiene le frequenze modificando il nome della variabile nella funzione summary() .
Ad esempio, potremmo invece rinominare la colonna “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
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre funzioni comuni in dplyr:
Come calcolare le frequenze relative usando dplyr
Come ordinare le variabili per gruppo usando dplyr
Come selezionare le colonne per indice utilizzando dplyr