R udostępnia operatory i funkcje do manipulowania macierzami
Operator / Funkcja : Działanie : Przykład
% *% mnożenie macierzy a% *% b
%o% lub outer() produkt zewnętrzny dwóch wektorów, macierze lub tablice a% *% b, outer (a, b)
t() transpozycja macierzy t(a)
crossprod() lub tcrossprod () produkt krzyżowy macierzy lub dwie macierze crossprod(a) lub crossprod(a, b) lub crossprod(a) lub tcrossprod(a, b)
diag() przekątna matrycy lub macierz diagonalna diag(a),a jest macierzą lub diag(a),a jest wektorem
solve() wrotność macierzy lub rozwiązanie dla Xa = b solve(a), solve(X,b)
Operatorem mnożenia macierzy jest% *%. R zwróci błąd, jeśli dwie macierze nie będą zgodne. Dla dwóch tablic (tablice obejmują wektory i macierze),% o% lub outer (), daje zewnętrzny produkt tablic.
Aby transponować macierz, użyj funkcji t (), na przykład t (a). Aby uzyskać iloczyn krzyżowy jednej macierzy z drugą (lub macierzą oryginalną), użyj funkcji crossprod () lub funkcji tcrossprod (). Jeśli aib są matrycami zgodnymi, to
crossprod (a) = t (a)% *% a,
tcrossprod (a) = a% *% t (a),
crossprod (a, b) = t (a)% *% b,
tcrossprod (a, b) = a% *% t (b).
Aby znaleźć odwrotność niesingularnej macierzy kwadratowej, użyj funkcji solver (), na przykład solass (a). Funkcja rozwiązywanie () może również rozwiązać równanie liniowe
Xa = b,
dla a, gdzie X jest niejednorodną macierzą kwadratową, a b ma taką samą liczbę wierszy jak X. Składnia jest rozwiązana (X, b). Aby utworzyć macierz diagonalną lub uzyskać diagonalną macierz, użyj funkcji diag (). Jeśli a jest wektorem, diag (a) zwróci macierz diagonalną o przekątnej równej a.
Na przykład:
> a = 1:2
> a
[1] 1 2
> diag(a)
[,1] [,2]
[1,] 1 0
[2,] 0 2
Jeśli a jest macierzą, diag (a) zwróci ukośne elementy macierzy, nawet jeśli macierz nie jest kwadratowa. Na przykład:
> a = matrix(1:6,2,3)
> a
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
> diag(a)
[1] 1 4
Aby uzyskać więcej informacji, stronę pomocy CRAN dotyczącą mnożenia macierzy można znaleźć, wprowadzając ??„ matrix multiplication” po znaku zachęty R. W przypadku pięciu funkcji wpisanie? Nazwa, gdzie nazwa jest nazwą funkcji, powoduje wyświetlenie strony pomocy dla funkcji.