Verwendung der spread-funktion in r (mit beispielen)


Mit der Funktion spread() im Tidyr- Paket kann ein Schlüssel-Wert-Paar über mehrere Spalten „verteilt“ werden.

Diese Funktion verwendet die folgende grundlegende Syntax:

Verbreitung (Daten, Schlüsselwert)

Gold:

  • data : Name des Datenrahmens
  • Schlüssel : Spalte, deren Werte zu Variablennamen werden
  • value : Spalte, in die die Werte unter den neuen Variablen eingefügt werden, die aus dem Schlüssel erstellt wurden

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

Beispiel 1: Verteilen Sie die Werte auf zwei Spalten

Angenommen, wir haben den folgenden Datenrahmen in R:

 #create data frame
df <- data. frame (player= rep (c(' A ', ' B '), each= 4 ),
                 year= rep (c(1, 1, 2, 2), times= 2 ),
                 stat= rep (c(' points ', ' assists '), times= 4 ),
                 amount=c(14, 6, 18, 7, 22, 9, 38, 4))

#view data frame
df

  player year stat amount
1 A 1 points 14
2 A 1 assists 6
3 A 2 points 18
4 A 2 assists 7
5 B 1 points 22
6 B 1 assists 9
7 B 2 points 38
8 B 2 assists 4

Wir können die Funktion spread() verwenden, um die Werte der Statistikspalte in ihre eigenen Spalten umzuwandeln:

 library (tidyr)

#spread stat column across multiple columns
spread(df, key=stat, value=amount)

  player year assists points
1 to 1 6 14
2 to 2 7 18
3 B 1 9 22
4 B 2 4 38

Beispiel 2: Werte auf mehr als zwei Spalten verteilen

Angenommen, wir haben den folgenden Datenrahmen in R:

 #create data frame
df2 <- data. frame (player= rep (c(' A '), times= 8 ),
                 year= rep (c(1, 2), each= 4 ),
                 stat= rep (c(' points ', ' assists ', ' steals ', ' blocks '), times= 2 ),
                 amount=c(14, 6, 2, 1, 29, 9, 3, 4))

#view data frame
df2

  player year stat amount
1 A 1 points 14
2 A 1 assists 6
3 A 1 steals 2
4 A 1 blocks 1
5 A 2 points 29
6 A 2 assists 9
7 A 2 steals 3
8 A 2 blocks 4

Mit der Funktion spread() können wir die vier eindeutigen Werte in der Statistikspalte in vier neue Spalten umwandeln:

 library (tidyr)

#spread stat column across multiple columns
spread(df2, key=stat, value=amount)

  player year assists blocks points steals
1 A 1 6 1 14 2
2 A 2 9 4 29 3

Zusätzliche Ressourcen

Das Ziel des Tidyr- Pakets besteht darin, „aufgeräumte“ Daten zu erstellen, die folgende Eigenschaften aufweisen:

  • Jede Spalte ist eine Variable.
  • Jede Zeile ist eine Beobachtung.
  • Jede Zelle ist ein eindeutiger Wert.

Das Tidyr-Paket verwendet vier Hauptfunktionen zum Erstellen geordneter Daten:

1. Die Funktion spread() .

2. Die Funktion „gather()“ .

3. Die Funktion „separate()“ .

4. Die Unit() -Funktion.

Wenn Sie diese vier Funktionen beherrschen, können Sie aus jedem Datenrahmen „aufgeräumte“ Daten erstellen.

Einen Kommentar hinzufügen

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