Come contare le osservazioni per gruppo in r


Spesso potresti essere interessato a contare il numero di osservazioni per gruppo in R.

Fortunatamente, questo è facile da fare utilizzando la funzione count() della libreria dplyr .

Questo tutorial spiega diversi esempi di utilizzo pratico di questa funzione utilizzando il seguente frame di dati:

 #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

Esempio 1: contare con una variabile

Il seguente codice mostra come contare il numero totale di giocatori per squadra:

 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

Dal risultato possiamo vedere che:

  • La squadra A è composta da 3 giocatori
  • La squadra B è composta da 5 giocatori
  • La squadra C è composta da 4 giocatori

Questa funzione single count() ci dà una bella idea della distribuzione dei giocatori per squadra.

Nota che possiamo anche ordinare i conteggi se vogliamo:

 #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

Esempio 2: conteggio con più variabili

Possiamo anche ordinare in base a diverse variabili:

 #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

Dal risultato possiamo vedere che:

  • La squadra A ha 1 giocatore nella posizione “F” (attaccante) e 2 giocatori nella posizione “G” (guardia).
  • La squadra B ha 3 giocatori nella posizione “F” (attaccante) e 2 giocatori nella posizione “G” (guardia).
  • La squadra C ha 3 giocatori nella posizione “F” (attaccante) e 1 giocatore nella posizione “G” (guardia).

Esempio 3: numero ponderato

Possiamo anche “ponderare” i conteggi di una variabile con un’altra variabile. Ad esempio, il codice seguente mostra come contare le osservazioni totali per squadra, utilizzando la variabile “punti” come peso:

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

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

Puoi trovare la documentazione completa per la funzione count() qui .

Aggiungi un commento

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