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


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow