Matrizen in R

Matrizen sind in R eine grundlegende Datenstruktur und kommen bei zahllosen Statistik-Beratungen und Nachhilfestunden zum Thema R vor. Für eine Einführung in Matrizen mit R beginnen wir zunächst damit, wie eine Matrix in R erstellt werden kann.

 

Erstellung von Matrizen

Wir verwenden hierzu die R-Funktion matrix(). Die Funktionsweise der Funktion matrix()  wird anhand eines Beispiels erläutert. Geben Sie hierzu in R den folgenden Befehl ein:

 

matrix(c(1,2,4,6,7,9),byrow=TRUE,nrow=3)

 

Die einzelnen Bestandteile des matrix()-Befehles haben die folgenden Bedeutungen:

  • Mit dem Argument c(1,2,4,6,7,9) fordern wir eine Matrix an, die aus den Zahlen 1,2,4,6,7,9 besteht.
  • Das Argument byrow=TRUE bewirkt, dass die Zahlen 1,2,4,6,7,9 zeilenweise in der erzeugten Matrix angeordnet werden. 
  • Das Argument nrow=3 bewirkt, dass die erzeugte Matrix 3 Zeilen hat.

Nach Eingabe des Befehls erhalten Sie im R-Output-Fenster das Ergebnis. Dieses sieht folgendermaßen aus:

 

 

Man erkennt nun die Funktionsweise des Arguments byrow=TRUE: Die Zahlenfolge 1,2,4,6,7,9 beginnt links oben in der Matrix und setzt sich zeilenweise nach rechts fort. 

Alternativ hätte man hier auch byrow=FALSE wählen können. Wir tun dies um den Unterschied zwischen byrow=TRUE und byrow=FALSE darzustellen und geben dazu den folgenden Befehl ein:

 

matrix(c(1,2,4,6,7,9),byrow=FALSE,nrow=3)

 

Man erhält dadurch den folgenden Output:

 

 

Man erkennt, dass bei Eingabe des Arguments byrow=FALSE die Zahlenfolge 1,2,4,6,7,9 auch oben links beginnt, aber im Unterschied zu vorher sich nun spaltenweise nach unten fortsetzt.

 

Matrix in R mit cbind() und rbind() erstellen

Eine alternative Methode zum Erstellen einer Matrix in R ist das zeilenweise oder spaltenweise erstellen mit den Befehlen cbind() oder rbind(). Mit cbind() lassen sich Vektoren spaltenweise zu einer Matrix zusammenfassen (Der Name cbind() bezieht sich auf column-bind).

Nehmen wir z.B. an, Sie möchten eine Matrix erstellen, die in der ersten Spalte die Zahlen 4 und 1, in der zweiten Spalte die Zahlen 1 und -8 und in der dritten Spalte die Zahlen 0 und 5 enthält. Um diese Matrix zu erzeugen, definieren Sie zunächst die Spaltenvektoren mit den eben genannten Zahlen:

 

x <- c(4,1)

y <- c(1,-8)

z <- c(0,5)

 

Wenn Sie den Operator c() noch nicht kennen, dann sehen Sie hier nach: Vektoren in R

Nun möchten wir diese Vektoren spaltenweise zu einer Matrix zusammenfügen. Geben Sie hierzu den folgenden Befehl ein:

 

cbind(x,y,z)

 

Dies resultiert in folgendem Output:

Sie erkennen, dass dies die oben beschriebene Matrix ist.

Analog ist es auch möglich, die Vektoren zeilenweise zu einer Matrix zusammen zu fassen. Hierzu steht in R der Befehl rbind() zur Verfügung. Wir geben den Befehl wieder in die R-Console ein:

 

rbind(x,y,z)

 

Und erhalten folgendes Ergebnis:

Diese Matrix enthält in jeder Zeile einen der zuvor definierten Vektoren x, y und z. 

 

Benötigen Sie Hilfe bei der Erstellung von Matrizen in R oder Beratung zum Thema Rechnen mit Matrizen in R? Nehmen Sie Kontakt zu uns auf und Schildern uns Ihr Anliegen!

 

Hier geht es zurück zur R-Statistik-Tutorial-Übersicht. 

Zurück zur Startseite finden Sie hier: Beratung Datenanalyse.

 

Kommentar schreiben

Kommentare: 1
  • #1

    L. Schneider (Donnerstag, 13 Oktober 2016 21:32)

    Hallo Herr Smigierski,
    ich hätte eine Frage zu Matrizen in R: Können Sie mir sagen, wie man in R einzelne Zeilen aus einer Matrix auswählen kann?
    Danke und Gruss, L. Schneider