So verwenden sie die funktion ntile() in dplyr (mit beispielen)


Sie können die Funktion ntile() aus dem dplyr- Paket in R verwenden, um einen Eingabevektor in n Bins zu unterteilen.

Diese Funktion verwendet die folgende grundlegende Syntax:

ntile(x, n)

Gold:

  • x : Eingabevektor
  • n : Anzahl der Fächer

Hinweis : Die Eimergrößen können um bis zu eins abweichen.

Die folgenden Beispiele zeigen, wie Sie diese Funktion in der Praxis nutzen können.

Beispiel 1: Verwenden Sie ntile() mit einem Vektor

Der folgende Code zeigt, wie man mit der Funktion ntile() einen Vektor aus 11 Elementen in 5 verschiedene Buckets aufteilt:

 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

Aus dem Ergebnis können wir erkennen, dass jedes Element des ursprünglichen Vektors in einem der fünf Buckets platziert wurde.

Die kleinsten Werte werden Bucket 1 zugewiesen, während die größten Werte Bucket 5 zugewiesen werden.

Zum Beispiel:

  • Die kleinsten Werte von 1, 3 und 4 werden Bucket 1 zugewiesen.
  • Die größten Werte, 22 und 23, werden Bucket 5 zugewiesen.

Beispiel 2: Verwendung von ntile() mit einem Datenrahmen

Angenommen, wir haben den folgenden Datenrahmen in R, der die von verschiedenen Basketballspielern erzielten Punkte zeigt:

 #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

Der folgende Code zeigt, wie Sie mit der Funktion ntile() eine neue Spalte im Datenrahmen erstellen, die jeden Spieler basierend auf den erzielten Punkten einem von drei Buckets zuordnet:

 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

Die neue Bucket- Spalte weist jedem Spieler einen Wert zwischen 1 und 3 zu.

Spieler mit den niedrigsten Punkten erhalten einen Wert von 1 und Spieler mit den höchsten Punkten erhalten einen Wert von 3 .

Zusätzliche Ressourcen

Die folgenden Tutorials erklären, wie Sie andere gängige Funktionen in R verwenden:

So verwenden Sie die Funktion across() in dplyr
So verwenden Sie die Funktion relocate() in dplyr
So verwenden Sie die Funktion „slice()“ in dplyr

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert