Tutorials  /  Databases

R melt() und cast() Funktionen - Data Reshaping Guide

Ccentron Redaktion · Februar 2024 ·3 Min. Lesezeit ·Databases, Tutorial

Hallo, liebe Leser! In diesem Artikel werden wir uns ein wichtiges Konzept der R-Programmierung ansehen - das Umformen von Daten mit den R-Funktionen melt() und cast(), im Detail.

Lassen Sie uns beide Funktionen im Detail verstehen. Los geht's!

R melt() Funktion

Die melt()-Funktion in der R-Programmierung ist eine integrierte Funktion. Sie ermöglicht es uns, Datenrahmen in einer benutzerdefinierten Art und Weise umzuformen und zu verlängern. Sie organisiert die Datenwerte in einem langen Datenrahmenformat.

Werfen Sie einen Blick auf die folgende Syntax!

Syntax:

Code
melt(data-frame, na.rm = FALSE, value.name = “name”, id = 'columns')

Wir übergeben den Datenrahmen an die Funktion zusammen mit na.rm = FALSE als Standardwert, was bedeutet, dass die NA-Werte nicht ignoriert werden.

Weiterhin übergeben wir den neuen Variablen-/Spaltennamen an den Parameter value.name, um die verlängerten Werte, die aus der Funktion erhalten werden, darin zu speichern.

Der ID-Parameter wird auf die Spaltennamen des Datenrahmens gesetzt, in Bezug auf die das Umformen stattfinden wird.

Beispiel:

Python
rm(list = ls())

install.packages("MASS") 
install.packages("reshape2") 
install.packages("reshape") 

library(MASS) 
library(reshape2) 
library(reshape) 

 
A <- c(1,2,3,4,2,3,4,1) 
B <- c(1,2,3,4,2,3,4,1) 
a <- c(10,20,30,40,50,60,70,80) 
b <- c(100,200,300,400,500,600,700,800) 
data <- data.frame(A,B,a,b) 

print("Original data frame:\n") 
print(data) 

melt_data <- melt(data, id = c("A","B")) 

print("Reshaped data frame:\n") 
print(melt_data) 

Output:

Code
[1] "Original data frame:\n"
  A B  a   b
1 1 1 10 100
2 2 2 20 200
3 3 3 30 300
4 4 4 40 400
5 2 2 50 500
6 3 3 60 600
7 4 4 70 700
8 1 1 80 800

[1] "Reshaped data frame:\n"
> print(melt_data) 
   A B variable value
1  1 1        a    10
2  2 2        a    20
3  3 3        a    30
4  4 4        a    40
5  2 2        a    50
6  3 3        a    60
7  4 4        a    70
8  1 1        a    80
9  1 1        b   100
10 2 2        b   200
11 3 3        b   300
12 4 4        b   400
13 2 2        b   500
14 3 3        b   600
15 4 4        b   700
16 1 1        b   800
DB

Passende Infrastruktur bei centron

Datenbanken im Betrieb wollen gepflegt werden: centron übernimmt auf Wunsch Updates, Backups und Monitoring – von der einzelnen Instanz bis zum Cluster. Managed Cluster ansehen →

R cast() Funktion

Wie oben gesehen, wird der Datenrahmen nach Anwendung der melt()-Funktion in einen verlängerten Datenrahmen umgewandelt. Um die fast ursprüngliche und natürliche Form des Datenrahmens wiederzugewinnen, wird die R cast()-Funktion verwendet.

Die cast()-Funktion akzeptiert eine aggregierte Funktion und eine Formel als Parameter (hier ist die Formel die Art und Weise, wie die Daten nach dem Umformen dargestellt werden sollen) und wandelt den verlängerten oder geschmolzenen Datenrahmen in eine fast aggregierte Form des Datenrahmens um.

Syntax:

Code
cast(data, formula, aggregate function)

Wir können der cast()-Funktion jede verfügbare aggregierte Funktion wie Mittelwert, Summe usw. übergeben.

Beispiel:

Python
rm(list = ls())

library(MASS) 
library(reshape2) 
library(reshape) 

A <- c(1,2,3,4,2,3,4,1) 
B <- c(1,2,3,4,2,3,4,1) 
a <- c(10,20,30,40,50,60,70,80) 
b <- c(100,200,300,400,500,600,700,800) 
data <- data.frame(A,B,a,b) 

print("Original data frame:\n") 
print(data) 

melt_data <- melt(data, id = c("A")) 

print("Reshaped data frame after melting:\n") 
print(melt_data)

cast_data = cast(melt_data, A~variable, mean) 

print("Reshaped data frame after casting:\n") 
print(cast_data)

Output:

Code
[1] "Original data frame:\n"
  A B  a   b
1 1 1 10 100
2 2 2 20 200
3 3 3 30 300
4 4 4 40 400
5 2 2 50 500
6 3 3 60 600
7 4 4 70 700
8 1 1 80 800

[1] "Reshaped data frame after melting:\n"
   A variable value
1  1        B     1
2  2        B     2
3  3        B     3
4  4        B     4
5  2        B     2
6  3        B     3
7  4        B     4
8  1        B     1
9  1        a    10
10 2        a    20
11 3        a    30
12 4        a    40
13 2        a    50
14 3        a    60
15 4        a    70
16 1        a    80
17 1        b   100
18 2        b   200
19 3        b   300
20 4        b   400
21 2        b   500
22 3        b   600
23 4        b   700
24 1        b   800

[1] "Reshaped data frame after casting:\n"
  A B  a   b
1 1 1 45 450
2 2 2 35 350
3 3 3 45 450
4 4 4 55 550

Schlussfolgerung

Damit sind wir am Ende dieses Themas angelangt. R melt() und cast() Funktionen – Data Reshaping Guide

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Databases
Teilen
Noch offene Fragen?

Our team will help you with your specific setup - in German or English, by people who run the platform themselves.

War dieses Tutorial hilfreich?

Your answer is stored anonymously and helps us improve our tutorials.

Kommentare

No comments yet - be the first to ask a question about this tutorial.

Sign in to comment

Comments are open to centron customers. Sign in to your account to ask a question about this tutorial.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren