Matrix Algebra in R
Die meisten Methoden auf dieser Website beschreiben eigentlich die Programmierung von Matrizen. Sie ist tief in die Sprache R integriert. In diesem Abschnitt werden lediglich Operatoren und Funktionen behandelt, die speziell für die lineare Algebra geeignet sind. Bevor du fortfährst, solltest du dir die Abschnitte über Datentypen und Operatoren ansehen.
Matrix-Fazilitäten
In den folgenden Beispielen sind A und B Matrizen und x und b sind a-Vektoren.
Bediener oder Funktion | Beschreibung |
A * B | Elementweise Multiplikation |
A %*% B | Matrix-Multiplikation |
A %o% B | Äußeres Produkt. AB' |
crossprod(A,B)crossprod(A) | ** A'B bzw . A'A**. |
t(A) | Transponieren |
diag(x) | Erzeugt eine Diagonalmatrix mit Elementen von x in der Hauptdiagonale |
diag(A) | Gibt einen Vektor zurück, der die Elemente der Hauptdiagonale enthält. |
diag(k) | Wenn k ein Skalar ist, wird eine k x k Identitätsmatrix erstellt. Stell dir das mal vor. |
solve(A, b) | Liefert den Vektor x in der Gleichung b = Ax (d. h. A-1b ) |
solve(A) | Inverse von A, wobei A eine quadratische Matrix ist. |
ginv(A) | Moore-Penrose Generalized Inverse of A.ginv(A) erfordert das Laden des MASS-Pakets. |
y<-eigen(A) | y$val sind die Eigenwerte vonAy$vec sind die Eigenvektoren von A |
y<-svd(A) | Einzelwertzerlegung von A.y$d = Vektor mit den Singulärwerten von Ay$u = Matrix, deren Spalten die linken Singulärvektoren von** A**y$v = Matrix, deren Spalten die rechten Singulärvektoren von A enthalten |
R <- chol(A) | Choleski-Faktorisierung von A. Gibt den oberen Dreiecksfaktor zurück, so dass R'R = A ist. |
y <- qr(A) | QR-Zerlegung von A.y$qr hat ein oberes Dreieck, das die Zerlegung enthält, und ein unteres Dreieck, das Informationen über die Q-Zerlegung enthält.y$rank ist der Rang von A.y$qraux ein Vektor, der zusätzliche Informationen über Q enthält.y$pivot enthält Informationen über die verwendete Pivotierungsstrategie. |
cbind(A,B,...) | Kombiniere Matrizen (Vektoren) horizontal. Gibt eine Matrix zurück. |
rbind(A,B,...) | Kombiniere Matrizen (Vektoren) vertikal. Gibt eine Matrix zurück. |
rowMeans(A) | Gibt den Vektor der Zeilenmittelwerte zurück. |
rowSums(A) | Gibt den Vektor der Zeilensummen zurück. |
colMeans(A) | Gibt den Vektor der Spaltenmittelwerte zurück. |
colSums(A) | Gibt den Vektor der Spaltensummen zurück. |
Matlab-Emulation
Das Matlab-Paket enthält Wrapper-Funktionen und Variablen, die dazu dienen, MATLAB-Funktionsaufrufe so gut wie möglich zu replizieren. Das kann helfen, MATLAB-Anwendungen und Code nach R zu portieren.
Weiter gehen
Das Matrix-Paket enthält Funktionen, die R erweitern, um sehr dichte oder dünne Matrizen zu unterstützen. Sie bietet einen effizienten Zugang zu BLAS (Basic Linear Algebra Subroutines), Lapack (dichte Matrix), TAUCS (dünne Matrix) und UMFPACK (dünne Matrix) Routinen.
Zum Üben
Nimm an dem Kurs Einführung in die Statistik in R teil, um deine statistischen Kenntnisse zu vertiefen.