Come calcolare la modalità per gruppo in r (con esempi)


La modalità di un set di dati rappresenta il valore più frequente.

Il software statistico R non dispone di una funzione incorporata per calcolare la modalità di un set di dati, ma è possibile utilizzare la seguente funzione per calcolare la modalità:

 find_mode <- function (x) {
  u <- unique(x)
  tab <- tabulate(match(x, u))
  u[tab == max(tab)]
}

Gli esempi seguenti mostrano come utilizzare questa funzione per calcolare la modalità per gruppo in R.

Esempio 1: modalità di calcolo per gruppo in R (una modalità)

Supponiamo di avere il seguente frame di dati in R che mostra i punti segnati da giocatori di basket di squadre diverse:

 #define data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 points=c(5, 7, 7, 9, 12, 12, 10, 14))

#view data frame
df

  team points
1 to 5
2 to 7
3 to 7
4 to 9
5 B 12
6 B 12
7 B 10
8 B 14

Possiamo utilizzare il seguente codice per calcolare la modalità dei punti , raggruppati per squadra :

 library (dplyr)

#define function to calculate mode
find_mode <- function (x) {
  u <- unique(x)
  tab <- tabulate(match(x, u))
  u[tab == max(tab)]
}

#calculate mode of 'points' by 'team'
df %>%
  group_by(team) %>%
  summarize(mode_points = find_mode(points))

# A tibble: 2 x 2
  team mode_points
         
1 to 7
2 B 12

Dai risultati possiamo vedere:

  • La modalità punti per la squadra A è 7 .
  • La modalità punti per la squadra B è 12 .

Esempio 2: calcola la modalità per gruppo in R (modalità multiple)

Supponiamo di avere il seguente frame di dati in R:

 #define data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 points=c(5, 7, 7, 9, 12, 12, 10, 10))

#view data frame
df

  team points
1 to 5
2 to 7
3 to 7
4 to 9
5 B 12
6 B 12
7 B 10
8 B 10

Possiamo utilizzare il seguente codice per calcolare la modalità dei punti , raggruppati per squadra :

 library (dplyr)

#define function to calculate mode
find_mode <- function (x) {
  u <- unique(x)
  tab <- tabulate(match(x, u))
  u[tab == max(tab)]
}

#calculate mode of 'points' by 'team'
df %>%
  group_by(team) %>%
  summarize(mode_points = find_mode(points))

# A tibble: 3 x 2
# Groups: team [2]
  team mode_points
         
1 to 7
2 B 12
3 B 10

Dai risultati possiamo vedere:

  • La modalità punti per la squadra A è 7 .
  • Il metodo di punteggio per la squadra B è 12 e 10 .

In questo esempio, due valori punto si sono verificati più frequentemente per la squadra B. Ciascuno di questi valori di modalità viene quindi restituito su una riga separata per la squadra B nell’output.

Risorse addizionali

I seguenti tutorial spiegano come calcolare altre statistiche descrittive in R:

Come calcolare la sintesi di cinque numeri in R
Come creare tabelle di riepilogo in R
Come utilizzare la funzione Mean() in R

Aggiungi un commento

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