Come utilizzare la funzione ntile() in dplyr (con esempi)
È possibile utilizzare la funzione ntile() dal pacchetto dplyr in R per dividere un vettore di input in n contenitori.
Questa funzione utilizza la seguente sintassi di base:
ntile(x, n)
Oro:
- x : vettore di input
- n : Numero di scomparti
Nota : le dimensioni del secchio possono differire fino a un’unità.
I seguenti esempi mostrano come utilizzare questa funzione nella pratica.
Esempio 1: utilizzare ntile() con un vettore
Il codice seguente mostra come utilizzare la funzione ntile() per dividere un vettore di 11 elementi in 5 contenitori diversi:
library (dplyr) #createvector x <- c(1, 3, 4, 6, 7, 8, 10, 13, 19, 22, 23) #break up vector into 5 buckets ntile(x, 5) [1] 1 1 1 2 2 3 3 4 4 5 5
Dal risultato possiamo vedere che ogni elemento del vettore originale è stato posizionato in uno dei cinque contenitori.
I valori più piccoli sono assegnati al bucket 1 mentre i valori più grandi sono assegnati al bucket 5.
Per esempio:
- I valori più piccoli di 1, 3 e 4 sono assegnati al bucket 1 .
- I valori più grandi, 22 e 23, sono assegnati al bucket 5 .
Esempio 2: utilizzo di ntile() con un frame di dati
Supponiamo di avere il seguente frame di dati in R che mostra i punti segnati da diversi giocatori di basket:
#create data frame df <- data. frame (player=LETTERS[1:9], points=c(12, 19, 7, 22, 24, 28, 30, 19, 15)) #view data frame df player points 1 to 12 2 B 19 3 C 7 4 D 22 5 E 24 6 F 28 7 G 30 8:19 a.m. 9 I 15
Il codice seguente mostra come utilizzare la funzione ntile() per creare una nuova colonna nel frame di dati che assegna ciascun giocatore a uno dei tre bucket, in base ai punti segnati:
library (dplyr) #create new column that assigns players into buckets based on points df$bucket <- ntile(df$points, 3) #view updated data frame df player points bucket 1 to 12 1 2 B 19 2 3 C 7 1 4 D 22 2 5 E 24 3 6 F 28 3 7 G 30 3 8:19 2 9 I 15 1
La nuova colonna bucket assegna un valore compreso tra 1 e 3 a ciascun giocatore.
I giocatori con i punti più bassi ricevono un valore di 1 mentre i giocatori con i punti più alti ricevono un valore di 3 .
Risorse addizionali
I seguenti tutorial spiegano come utilizzare altre funzioni comuni in R:
Come utilizzare la funzione across() in dplyr
Come utilizzare la funzione relocate() in dplyr
Come utilizzare la funzione slice() in dplyr