So verwenden sie die funktion „melt()“ in r


Sie können die Funktion „melt()“ des Pakets „reshape2 “ in R verwenden, um einen Datenrahmen von einem Breitformat in ein Langformat zu konvertieren.

Ein breites Format enthält Werte, die sich in der ersten Spalte nicht wiederholen.

Ein Langformat enthält Werte, die sich in der ersten Spalte wiederholen .

Betrachten Sie beispielsweise die folgenden zwei Datensätze, die genau dieselben Daten in unterschiedlichen Formaten enthalten:

Breites oder langes Datenformat

Die Funktion „melt()“ verwendet die folgende grundlegende Syntax, um einen Datenrahmen im Breitformat in das Langformat zu konvertieren:

 melt(df, id=' team ')

Das Argument id gibt an, welche Variable als erste Spalte des Datenrahmens verwendet werden soll, deren Werte wiederholt werden.

Das folgende Beispiel zeigt, wie Sie diese Funktion in der Praxis nutzen können.

Beispiel: Verwendung von Melt() in R

Angenommen, wir haben den folgenden Datenrahmen in R, der derzeit im Breitformat vorliegt:

 #create data frame in wide format
df <- data. frame (team=c('A', 'B', 'C', 'D'),
                 dots=c(88, 91, 99, 94),
                 assists=c(12, 17, 24, 28),
                 rebounds=c(22, 28, 30, 31))

#view data frame
df

  team points assists rebounds
1 A 88 12 22
2 B 91 17 28
3 C 99 24 30
4 D 94 28 31

Mit der Funktion „melt()“ können wir den Datenrahmen schnell in ein Langformat konvertieren:

 library (reshape2)

#use melt() to convert data frame from wide to long format
long_df <- melt(df, id=' team ')

#view long data frame
long_df

   team variable value
1 A points 88
2 B points 91
3 C points 99
4 D points 94
5 A assists 12
6 B assists 17
7 C assists 24
8 D assists 28
9 A rebounds 22
10 B rebounds 28
11 C rebounds 30
12 D rebounds 31

Beachten Sie, dass der Datenrahmen jetzt ein langes Format hat.

Die Punkte- , Assists- und Rebounds -Spalten wurden alle in einer einzigen Spalte namens Variable komprimiert, während ihre Werte alle in einer einzigen Spalte namens Werte komprimiert wurden.

Fühlen Sie sich frei, die Spalten des resultierenden Datenrahmens mit der Funktion „names()“ umzubenennen:

 #rename columns in long_df
names(long_df) <- c(' team ', ' metric ', ' amount ')

#view updated data frame
long_df

   team metric amount
1 A points 88
2 B points 91
3 C points 99
4 D points 94
5 A assists 12
6 B assists 17
7 C assists 24
8 D assists 28
9 A rebounds 22
10 B rebounds 28
11 C rebounds 30
12 D rebounds 31

Beachten Sie, dass die Spalten umbenannt wurden.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in R ausführen:

So filtern Sie Zeilen in R
So transponieren Sie einen Datenrahmen in R
So benennen Sie Datenrahmenspalten in R um

Einen Kommentar hinzufügen

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