Direkt zum Inhalt

Wie man eine Matrix in R transponiert: Eine kurze Anleitung

Lerne in diesem kurzen Tutorial drei Methoden, um eine Matrix in R zu transponieren
Aktualisierte 15. Jan. 2025

Das Transponieren von Matrizen gehört zu den wichtigsten Aufgaben bei der Datenmanipulation in der R-Programmierumgebung. In diesem Tutorial zeige ich dir, wie du Matrizen in R effektiv transponieren kannst und stelle dir verschiedene Methoden vor, um diese Aufgabe zu erfüllen. Lass uns loslegen!

Die schnelle Antwort: Wie man eine Matrix in R transponiert

Wenn du es eilig hast, ist das der schnellste Weg, eine Matrix in R zu transponieren: Verwende die Funktion t(). Die Funktion t() ist Teil der R-Basis und bietet eine direkte Möglichkeit, eine Matrix zu transponieren. Hier ist ein einfaches Beispiel:

# Creating a sample matrix
my_matrix <- matrix(1:6, nrow = 2, ncol = 3)
print(my_matrix)
      [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6
# Transposing the matrix
transposed_matrix <- t(my_matrix)
print(transposed_matrix)
      [,1] [,2]
[1,]    1    2
[2,]    3    4
[3,]    5    6

Was ist Transponieren?

Beim Transponieren einer Matrix werden die Zeilen und Spalten umgedreht, d.h. die Zeilendaten werden zu Spaltendaten und umgekehrt. Dieser Vorgang wird häufig bei der Datenbearbeitung verwendet, um Datensätze umzustrukturieren, damit sie für bestimmte Analysen oder Visualisierungen besser geeignet sind. Betrachte zum Beispiel eine Matrix mit den Tagestemperaturen für verschiedene Städte. Wenn du diesen Datenrahmen transponierst, werden die Zeilen (Tage) mit den Spalten (Städte) vertauscht, was weitere Operationen wie das Plotten oder die statistische Analyse vereinfachen kann.

Tag

New York

Verloren Angeles

Chicago

Tag 1

22

25

18

Tag 2

20

28

21

Ein Beispiel eines Wetterdatensatzes für 3 Städte vor der Transposition

Stadt

Tag 1

Tag 2

New York

22

20

Los Angeles

25

28

Chicago

18

21

Ein Beispiel-Wetterdatensatz für 3 Städte nach der Transposition

Drei Methoden zum Transponieren einer Matrix in R

Ausgehend von unserer Matrix der Tagestemperaturen für verschiedene Städte wollen wir untersuchen, wie wir diese Matrix mit verschiedenen Methoden in R transponieren können.

Methode 1: Transponieren einer Matrix in R mit Base R

Die einfachste Methode, eine Matrix in R zu transponieren, ist die Verwendung der R-Basisfunktion t(), wie bereits gezeigt. Es ist effizient und direkt und eine gute Option, um Matrizen ohne zusätzliche Pakete schnell zu transponieren.

# Assume that temparature_matrix is already predefined
print(temperature_matrix)

      New_York Los_Angeles Chicago
Day 1       22          20      25
Day 2       28          18      21
# Transpose temperature_matrix
transposed_matrix <- t(temperature_matrix)

print(transposed_matrix)

      New_York Los_Angeles Chicago
Day 1       22          20      25
Day 2       28          18      21

Methode #2: Transponieren einer Matrix in R mit tidyverse

tidyverse ist ein robustes Set von Werkzeugen in R, die die Arbeit mit Daten effizient und konsistent machen. Während die Tidyverse in der Regel mit Datenrahmen verwendet wird, kannst du eine Matrix in einen Datenrahmen konvertieren und dann tidyr verwenden, um sie durch Pivotieren zu "transponieren". Das ist besonders nützlich, wenn du die tidyverse bereits zur Datenanalyse verwendest.

library(tidyr)
library(dplyr)
library(tibble)

# Converting the matrix to a data frame for tidyverse manipulation
temperature_df <- as.data.frame(temperature_matrix)

# "Transposing" the matrix by converting to long then wide format
transposed_df <- temperature_df %>%
  rownames_to_column(var = "Day") %>%
  pivot_longer(-Day, names_to = "City", values_to = "Temperature") %>%
  pivot_wider(names_from = City, values_from = Temperature)

print(transposed_df)
# A tibble: 2 × 4
  Day   New_York Los_Angeles Chicago
  <chr>    <dbl>       <dbl>   <dbl>
1 Day 1       22          20      25
2 Day 2       28          18      21

Methode #3: Transponieren einer Matrix in R mit data.table

Ähnlich wie bei der Tidyverse-Methode kann data.table mit Datenrahmen oder Tabellen arbeiten. So kannst du eine Matrix transponieren, indem du sie zunächst in eine Tabelle umwandelst:

library(data.table)

# Converting the matrix to a data.table
temperature_dt <- as.data.table(temperature_matrix, keep.rownames = "Day")

# Transposing the matrix by melting and dcasting (similar to pivot_longer and pivot_wider)
transposed_dt <- melt(temperature_dt, id.vars = "Day") %>%
  dcast(variable ~ Day, value.var = "value")

print(transposed_dt)
      variable Day 1 Day 2
1:    New_York    22    28
2: Los_Angeles    20    18
3:     Chicago    25    21

Schlussgedanken

Das Transponieren von Matrizen ist eine grundlegende Fähigkeit in der R-Programmierung. Egal, ob du mit Base R, Tidyr im Tidyverse oder dem data.table-Paket arbeitest, R bietet flexible Optionen für deine Datenanforderungen. Wenn du mehr darüber erfahren möchtest, schau dir unseren Spickzettel zur Datenbearbeitung mit tidyr in R an, oder noch besser, nimm den Lernpfad zur Datenbearbeitung in R in Angriff.


Adel Nehme's photo
Author
Adel Nehme
LinkedIn

Adel ist Data Science Educator, Speaker und Evangelist bei DataCamp, wo er verschiedene Kurse und Live-Trainings zu Datenanalyse, maschinellem Lernen und Data Engineering veröffentlicht hat. Er setzt sich leidenschaftlich für die Verbreitung von Datenkenntnissen und Datenkompetenz in Organisationen und an der Schnittstelle zwischen Technologie und Gesellschaft ein. Er hat einen MSc in Data Science und Business Analytics. In seiner Freizeit ist er mit seinem Kater Louis unterwegs.

Themen

Setze deine R-Reise heute fort!

Lernpfad

Grundlagen der R-Programmierung

22Stunden hr
Verbessere deine R-Programmierkenntnisse! Lerne, wie du mit gängigen Datenstrukturen arbeitest, Code optimierst und deine eigenen Funktionen schreibst.
Siehe DetailsRight Arrow
Kurs starten
Zertifizierung verfügbar

Kurs

Zwischenstufe R

6 hr
619.5K
Setze deine Reise zum R-Ninja fort, indem du etwas über bedingte Anweisungen, Schleifen und Vektorfunktionen lernst.
Mehr anzeigenRight Arrow
Verwandt

Der Blog

Die 20 besten Snowflake-Interview-Fragen für alle Niveaus

Bist du gerade auf der Suche nach einem Job, der Snowflake nutzt? Bereite dich mit diesen 20 besten Snowflake-Interview-Fragen vor, damit du den Job bekommst!
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

20 Min.

Der Blog

Lehrer/innen und Schüler/innen erhalten das Premium DataCamp kostenlos für ihre gesamte akademische Laufbahn

Keine Hacks, keine Tricks. Schüler/innen und Lehrer/innen, lest weiter, um zu erfahren, wie ihr die Datenerziehung, die euch zusteht, kostenlos bekommen könnt.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

4 Min.

Der Blog

2022-2023 DataCamp Classrooms Jahresbericht

Zu Beginn des neuen Schuljahres ist DataCamp Classrooms motivierter denn je, das Lernen mit Daten zu demokratisieren. In den letzten 12 Monaten sind über 7.650 neue Klassenzimmer hinzugekommen.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 Min.

Der Blog

Die 32 besten AWS-Interview-Fragen und Antworten für 2024

Ein kompletter Leitfaden zur Erkundung der grundlegenden, mittleren und fortgeschrittenen AWS-Interview-Fragen, zusammen mit Fragen, die auf realen Situationen basieren. Es deckt alle Bereiche ab und sorgt so für eine abgerundete Vorbereitungsstrategie.
Zoumana Keita 's photo

Zoumana Keita

30 Min.

Der Blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates hat im zweiten Quartal 2023 über 20.000 Stipendien an unsere gemeinnützigen Partner vergeben. Erfahre, wie fleißige benachteiligte Lernende diese Chancen in lebensverändernde berufliche Erfolge verwandelt haben.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

Der Blog

Top 30 Generative KI Interview Fragen und Antworten für 2024

Dieser Blog bietet eine umfassende Sammlung von Fragen und Antworten zu generativen KI-Interviews, die von grundlegenden Konzepten bis hin zu fortgeschrittenen Themen reichen.
Hesam Sheikh Hassani's photo

Hesam Sheikh Hassani

15 Min.

Mehr anzeigenMehr anzeigen