In questa sezione parleremo di alcuni operatori e funzioni che permettono di lavorare con le matrici in R e quindi con l’algebra lineare. Per quanto riguarda le funzioni base delle matrici rimandiamo la lettura a tipi di dato e operatori
NOTAZIONI: Supponiamo che A e B siano matrici mentre x e b vettori.

Operatore o FunzioneDescrizione
A * BMoltiplicazione semplice tra matrici .
A %*% BMoltiplicazione tra matrici.
A %o% BProdotto esterno. AB’
crossprod(A,B)
crossprod(A)
A’B e A’A rispettivamente.
t(A)Trasposta.
diag(x)Crea una matrice diagonale con elementi di x nella diagonale principale.
diag(A)Restituisce un vettore contenente gli elementi della diagonale principale.
diag(k)Se k è uno scalare, crea una matrice identità di dimensione k x k.
solve(A, b)Restituisce il vettore x nell’equazione b = Ax.
solve(A)Inversa di A dove A è una matrice quadrata.
ginv(A)Moore-Penrose Generalized Inversa di A. Per ginv(A) è richiesto il package MASS.
y<-eigen(A) In sintesi:
y$val sono gli autovalori di A.
y$vec sono gli autovettori di A.
y$d = vettore contenente i valori singolari di A.
y$u = matrice con colonne contenenti i vettori singolari di sinistra di A.
y$v = matrice con colonne contiene i vettori singolari di destra di A.
y<-svd(A)Decomposizione a valori singolari di A.
R <- chol(A)Fattorizzazione di Choleski di A. Restituisce il fattore triangolare superiore, tale che R’R = A.
y <- qr(A)Decomposizione QR di A.
In sintesi:
y$qr una parte contiene la scomposizione e un’altra contiene informazioni sulla decodifica Q.
y$rank è il grado di A.
y$qraux un vettore che contiene informazioni aggiuntive su Q.
y$pivot contiene informazioni sulla strategia di rotazione utilizzata.
cbind(A,B,…)Unisce matrici (vettori) orizzontalmente. Restituisce una matrice.
rbind(A,B,…) Unisce matrici (vettori) verticalmente. Restituisce una matrice.
rowMeans(A)

colMeans(A)
Resituisce un vettore con la media dei vettori riga o colonna.
rowSums(A)

colSums(A)
Resituisce un vettore con la somma dei vettori riga o colonna .

Altri packages per lavorare con le matrici in R

Il package Matrix contiene funzioni che estendono R per supportare matrici molto dense o sparse. Inoltre fornisce un accesso efficiente alle routine BLAS (Subroutine algebrica lineare di base), Lapack (matrice densa), TAUCS (matrice sparsa) e UMFPACK (matrice sparsa).
Per quanto riguarda Matlab, se dobbiamo richiamare alcune funzionalità, abbiamo il package matlab. Questo package contiene le funzioni e le variabili che permettono di replicare le chiamate di funzioni MATLAB su R. Necessario soprattutto quando bisogna migrare applicazioni MATLAB su codice R e viceversa.

Guarda tutti i tutorial di Statistica oppure torna su R tutorial.