R Language
Matrizen
Suche…
Einführung
Matrizen speichern Daten
Matrizen erstellen
Unter der Haube ist eine Matrix eine besondere Art von Vektor mit zwei Dimensionen. Wie ein Vektor kann eine Matrix nur eine Datenklasse haben. Sie können Matrizen mit der matrix
wie unten gezeigt erstellen.
matrix(data = 1:6, nrow = 2, ncol = 3)
## [,1] [,2] [,3]
## [1,] 1 3 5
## [2,] 2 4 6
Wie Sie sehen, erhalten Sie eine Matrix aus allen Zahlen von 1 bis 6 mit zwei Zeilen und drei Spalten. Die data
- Parameter nehmen einen Vektor von Werten, nrow
gibt die Anzahl der Zeilen in der Matrix und ncol
gibt die Anzahl der Spalten. In der Regel wird die Matrix mit einer Spalte gefüllt. Das Standardverhalten kann mit dem byrow
-Parameter wie byrow
geändert werden:
matrix(data = 1:6, nrow = 2, ncol = 3, byrow = TRUE)
## [,1] [,2] [,3]
## [1,] 1 2 3
## [2,] 4 5 6
Matrizen müssen nicht numerisch sein - jeder Vektor kann in eine Matrix umgewandelt werden. Zum Beispiel:
matrix(data = c(TRUE, TRUE, TRUE, FALSE, FALSE, FALSE), nrow = 3, ncol = 2)
## [,1] [,2]
## [1,] TRUE FALSE
## [2,] TRUE FALSE
## [3,] TRUE FALSE
matrix(data = c("a", "b", "c", "d", "e", "f"), nrow = 3, ncol = 2)
## [,1] [,2]
## [1,] "a" "d"
## [2,] "b" "e"
## [3,] "c" "f"
Wie Vektoren können Matrizen als Variablen gespeichert und später aufgerufen werden. Die Zeilen und Spalten einer Matrix können Namen haben. Sie können diese mit den Funktionen rownames
und colnames
. Wie unten gezeigt, haben die Zeilen und Spalten zunächst keine Namen, was mit NULL
bezeichnet wird. Sie können ihnen jedoch Werte zuweisen.
mat1 <- matrix(data = 1:6, nrow = 2, ncol = 3, byrow = TRUE)
rownames(mat1)
## NULL
colnames(mat1)
## NULL
rownames(mat1) <- c("Row 1", "Row 2")
colnames(mat1) <- c("Col 1", "Col 2", "Col 3")
mat1
## Col 1 Col 2 Col 3
## Row 1 1 2 3
## Row 2 4 5 6
Es ist wichtig anzumerken, dass Matrizen ähnlich wie Vektoren nur einen Datentyp haben können. Wenn Sie versuchen, eine Matrix mit mehreren Datentypen anzugeben, werden die Daten in die übergeordnete Datenklasse umgewandelt.
Die class
, is
und as
Funktionen kann verwendet werden, um Datenstrukturen auf dieselbe Weise zu prüfen und zu zwingen, wie sie für die Vektoren in Klasse 1 verwendet wurden.
class(mat1)
## [1] "matrix"
is.matrix(mat1)
## [1] TRUE
as.vector(mat1)
## [1] 1 4 2 5 3 6