R Matrix
Die Sprache R bietet Matrixtypen für die Forschung in der linearen Algebra. Diese Datenstruktur ist zweidimensionalen Arrays in anderen Sprachen sehr ähnlich, aber R bietet Unterstützung für Matrixoperationen auf Sprachebene.
Elemente in einer Matrix können Zahlen, Symbole oder mathematische Ausdrücke sein.
AM x NEine Matrix besteht ausM (Zeile) ZeilenundN (Spalte) SpaltenElementen, die in einem rechteckigen Array angeordnet sind.

Das Folgende ist eine Matrix mit 2 Zeilen und 3 Spalten, die aus 6 numerischen Elementen besteht:
Matrizen in der Sprache R können mit der Funktion matrix() erstellt werden. Die Syntax lautet wie folgt:
matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE,dimnames = NULL)
Parameter description:
dataVektor, die Daten der Matrix
nrowAnzahl der Zeilen
ncolAnzahl der Spalten
byrowLogischer Wert. Wenn FALSE, nach Spalten anordnen; wenn TRUE, nach Zeilen anordnen
dimnameSetze die Namen von Zeilen und Spalten
Erstelle eine numerische Matrix:
Beispiel
M <- matrix(c(3:14), nrow = 4, byrow = TRUE)
print(M)
# Wenn byrow FALSE ist, werden Elemente spaltenweise angeordnet
N <- matrix(c(3:14), nrow = 4, byrow = FALSE)
print(N)
# Definiere die Namen von Zeilen und Spalten
rownames = c("row1", "row2", "row3", "row4")
colnames = c("col1", "col2", "col3")
P <- matrix(c(3:14), nrow = 4, byrow = TRUE, dimnames = list(rownames, colnames))
print(P)
Die Ausführung des obigen Codes erzeugt das folgende Ergebnis:
[,1] [,2] [,3]
[1,] 3 4 5
[2,] 6 7 8
[3,] 9 10 11
[4,] 12 13 14
[,1] [,2] [,3]
[1,] 3 7 11
[2,] 4 8 12
[3,] 5 9 13
[4,] 6 10 14
col1 col2 col3
row1 3 4 5
row2 6 7 8
row3 9 10 11
row4 12 13 14
Matrix-Transponierung
Matrizen in der Sprache R bieten einet()Funktion, mit der sich die Zeilen- und Spaltenvertauschung von Matrizen realisieren lässt.
Zum Beispiel kann eine Matrix mit m Zeilen und n Spalten mithilfe der Funktion t() in eine Matrix mit n Zeilen und m Spalten umgewandelt werden.

Beispiel
M = matrix( c(2,6,5,1,10,4), nrow = 2,ncol = 3,byrow = TRUE)
print(M)
[,1] [,2] [,3]
[1,] 2 6 5
[2,] 1 10 4
# In eine Matrix mit 3 Zeilen und 2 Spalten umwandeln
print(t(M))
Die Ausführung des obigen Codes erzeugt das folgende Ergebnis:
[,1] [,2] [,3]
[1,] 2 6 5
[2,] 1 10 4
[1] "-----转换-----"
[,1] [,2]
[1,] 2 1
[2,] 6 10
[3,] 5 4
Zugriff auf Matrixelemente
Wenn Sie Matrixelemente abrufen möchten, können Sie den Spaltenindex und den Zeilenindex der Elemente verwenden, ähnlich wie bei der Koordinatenform.
Beispiel
rownames = c("row1", "row2", "row3", "row4")
colnames = c("col1", "col2", "col3")
# Eine Matrix erstellen
P <- matrix(c(3:14), nrow = 4, byrow = TRUE, dimnames = list(rownames, colnames))
print(P)
# Element in der ersten Zeile und dritten Spalte abrufen
print(P[1,3])
# Element in der vierten Zeile und zweiten Spalte abrufen
print(P[4,2])
# Die zweite Zeile abrufen
print(P[2,])
# Die dritte Spalte abrufen
print(P[,3])
Die Ausführung des obigen Codes erzeugt das folgende Ergebnis:
col1 col2 col3
row1 3 4 5
row2 6 7 8
row3 9 10 11
row4 12 13 14
[1] 5
[1] 13
col1 col2 col3
6 7 8
row1 row2 row3 row4
5 8 11 14
Matrixberechnungen
Matrizen gleicher Größe (gleiche Anzahl von Zeilen und Spalten) können addiert oder voneinander subtrahiert werden, und zwar durch Addition bzw. Subtraktion der Elemente an jeder Position. Die Matrixmultiplikation ist komplexer. Zwei Matrizen können genau dann multipliziert werden, wenn die Anzahl der Spalten der ersten Matrix gleich der Anzahl der Zeilen der zweiten Matrix ist.
Matrixaddition und -subtraktion
Beispiel
matrix1 <- matrix(c(7, 9, -1, 4, 2, 3), nrow = 2)
print(matrix1)
matrix2 <- matrix(c(6, 1, 0, 9, 3, 2), nrow = 2)
print(matrix2)
# Zwei Matrizen addieren
result <- matrix1 + matrix2
cat("Additionsergebnis:","\n")
print(result)
# Zwei Matrizen subtrahieren
result <- matrix1 - matrix2
cat("Subtraktionsergebnis:","\n")
print(result)
Die Ausführung des obigen Codes erzeugt das folgende Ergebnis:
[,1] [,2] [,3]
[1,] 7 -1 2
[2,] 9 4 3
[,1] [,2] [,3]
[1,] 6 0 3
[2,] 1 9 2
相加结果:
[,1] [,2] [,3]
[1,] 13 -1 5
[2,] 10 13 5
相减结果:
[,1] [,2] [,3]
[1,] 1 -1 -1
[2,] 8 -5 1
Matrixmultiplikation und Division
Beispiel
matrix1 <- matrix(c(7, 9, -1, 4, 2, 3), nrow = 2)
print(matrix1)
matrix2 <- matrix(c(6, 1, 0, 9, 3, 2), nrow = 2)
print(matrix2)
# Zwei Matrizen multiplizieren
result <- matrix1 * matrix2
cat("Multiplikationsergebnis:","\n")
print(result)
# Zwei Matrizen dividieren
result <- matrix1 / matrix2
cat("Divisionsergebnis:","\n")
print(result)
Die Ausführung des obigen Codes erzeugt das folgende Ergebnis:
[,1] [,2] [,3]
[1,] 7 -1 2
[2,] 9 4 3
[,1] [,2] [,3]
[1,] 6 0 3
[2,] 1 9 2
相乘结果:
[,1] [,2] [,3]
[1,] 42 0 6
[2,] 9 36 6
相除结果:
[,1] [,2] [,3]
[1,] 1.166667 -Inf 0.6666667
[2,] 9.000000 0.4444444 1.5000000 Andere Erweiterungen