Come creare una tabella incrociata utilizzando dplyr (con esempi)


È possibile utilizzare la seguente sintassi di base per produrre una tabella incrociata utilizzando le funzioni dei pacchetti dplyr e Tidyr in R:

 df %>%
  group_by (var1, v ar2) %>%
  tally () %>%
  spread (var1,n)

Gli esempi seguenti mostrano come utilizzare questa sintassi nella pratica.

Esempio 1: creare una tabella incrociata di base

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', 'F', 'C', 'G', 'F', 'F', 'C'),
                 dots=c(7, 7, 8, 11, 13, 15, 19, 13))

#view data frame
df

  team position points
1 AG 7
2 AG 7
3AF 8
4 AC 11
5 BG 13
6 BF 15
7 BF 19
8 BC 13

Possiamo utilizzare la seguente sintassi per creare una tabella incrociata per le variabili “team” e “posizione”:

 library (dplyr)
library (tidyr)

#produce crosstab
df %>%
group_by (team, position) %>%
tally () %>%
spread (team, n)

# A tibble: 3 x 3
  position AB
1 C 1 1
2 F 1 2
3 G 2 1

Ecco come interpretare i valori della tabella incrociata:

  • C’è 1 giocatore che occupa la posizione “C” e appartiene alla squadra “A”
  • C’è 1 giocatore che occupa la posizione “C” e appartiene alla squadra “B”
  • C’è 1 giocatore che occupa la posizione “F” e appartiene alla squadra “A”
  • Ci sono 2 giocatori che hanno una posizione “F” e appartengono alla squadra “B”
  • Ci sono 2 giocatori che hanno una posizione “G” e appartengono alla squadra “A”
  • C’è 1 giocatore che occupa la posizione “G” e appartiene alla squadra “B”

Tieni presente che possiamo modificare le righe e le colonne della tabella a campi incrociati modificando la variabile utilizzata nella funzione spread() :

 library (dplyr)
library (tidyr)

#produce crosstab with 'position' along columns
df %>%
group_by (team, position) %>%
tally () %>%
spread (position, n)

# A tibble: 2 x 4
# Groups: team [2]
  team CFG
1 A 1 1 2
2 B 1 2 1

Correlato: Come utilizzare la funzione Diffondi in Tidyr

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre funzioni comuni in dplyr:

Come calcolare le frequenze relative utilizzando dplyr
Come selezionare le colonne per indice utilizzando dplyr
Come eliminare righe utilizzando dplyr

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *