Come eseguire il raggruppamento dei dati in r: con esempi


È possibile utilizzare uno dei due metodi per eseguire il raggruppamento dei dati in R:

Metodo 1: utilizzare la funzione cut()

 library (dplyr)

#perform binning with custom breaks
df %>% mutate(new_bin = cut(variable_name, breaks=c(0, 10, 20, 30)))

#perform binning with specific number of bins
df %>% mutate(new_bin = cut(variable_name, breaks= 3 ))

Metodo 2: utilizzare la funzione ntile()

 library (dplyr)

#perform binning with specific number of bins
df %>% mutate(new_bin = ntile(variable_name, n= 3 ))

I seguenti esempi mostrano come utilizzare ciascun metodo nella pratica con il seguente frame di dati:

 #create data frame
df <- data. frame (points=c(4, 4, 7, 8, 12, 13, 15, 18, 22, 23, 23, 25),
                 assists=c(2, 5, 4, 7, 7, 8, 5, 4, 5, 11, 13, 8),
                 rebounds=c(7, 7, 4, 6, 3, 8, 9, 9, 12, 11, 8, 9))

#view head of data frame
head(df)

  points assists rebounds
1 4 2 7
2 4 5 7
3 7 4 4
4 8 7 6
5 12 7 3
6 13 8 8

Esempio 1: eseguire il raggruppamento dei dati con la funzione cut()

Il codice seguente mostra come eseguire il raggruppamento dei dati sulla variabile points utilizzando la funzione cut() con segni di interruzione specifici:

 library (dplyr)

#perform data binning on variable points
df %>% mutate(points_bin = cut(points, breaks=c(0, 10, 20, 30)))

   points assists rebounds points_bin
1 4 2 7 (0.10]
2 4 5 7 (0.10]
3 7 4 4 (0.10]
4 8 7 6 (0.10]
5 12 7 3 (10.20]
6 13 8 8 (10.20]
7 15 5 9 (10.20]
8 18 4 9 (10.20]
9 22 5 12 (20.30]
10 23 11 11 (20.30]
11 23 13 8 (20.30]
12 25 8 9 (20.30]

Nota che ogni riga nel frame dati è stata posizionata in uno dei tre gruppi in base al valore della colonna punto.

Potremmo anche specificare il numero di salti da utilizzare per creare riquadri di uguale larghezza andando dal valore minimo al valore massimo della colonna di punti :

 library (dplyr)

#perform data binning on variable points
df %>% mutate(points_bin = cut(points, breaks= 3 ))

   points assists rebounds points_bin
1 4 2 7 (3.98.11]
2 4 5 7 (3.98.11]
3 7 4 4 (3.98.11]
4 8 7 6 (3.98.11]
5 12 7 3 (11.18]
6 13 8 8 (11.18]
7 15 5 9 (11.18]
8 18 4 9 (11.18]
9 22 5 12 (18.25]
10 23 11 11 (18.25]
11 23 13 8 (18.25]
12 25 8 9 (18.25]

Esempio 2: eseguire il raggruppamento dei dati con la funzione ntile()

Il codice seguente mostra come eseguire il raggruppamento di dati sulla variabile points utilizzando la funzione ntile() con un numero specifico di gruppi risultanti:

 library (dplyr)

#perform data binning on variable points
df %>% mutate(points_bin = ntile(points, n= 3 ))

   points assists rebounds points_bin
1 4 2 7 1
2 4 5 7 1
3 7 4 4 1
4 8 7 6 1
5 12 7 3 2
6 13 8 8 2
7 15 5 9 2
8 18 4 9 2
9 22 5 12 3
10 23 11 11 3
11 23 13 8 3
12 25 8 9 3

Tieni presente che a ciascuna riga è stata assegnata una casella da 1 a 3 in base al valore della colonna punto .

È preferibile utilizzare la funzione ntile() quando si desidera che in ogni riga venga visualizzato un valore intero anziché un intervallo che indica l’intervallo del contenitore.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in R:

Come sostituire condizionalmente i valori nel frame di dati in R
Come calcolare una media troncata in R
Come calcolare la media condizionale in R

Aggiungi un commento

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