Vai al contenuto principale

Tutorial sulle matrici in R

Scopri tutto sulle matrici in R: come nominare righe e colonne, accedere agli elementi e svolgere operazioni come addizione, sottrazione, moltiplicazione e divisione.
Aggiornato 29 set 2026  · 7 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

Le matrici sono oggetti i cui elementi sono rappresentati in una struttura bidimensionale, in cui sono presenti per lo più elementi numerici per eseguire varie operazioni.

Per esempio, guarda la matrice qui sotto.

      [,1] [,2] [,3]
[1,]    5    6    7
[2,]    8    9   10
[3,]   11   12   13

La matrice sopra mostra che ci sono 3 righe e 3 colonne.

In R una matrice può essere creata usando "matrix()".

La sintassi di una matrice in R può essere definita come segue:

matrix(value, nrow, ncol, byrow, dimnames)

I parametri della funzione matrix sono definiti di seguito:

  1. value - specifica il vettore di input, in cui ogni voce indica gli elementi in una matrice.
  2. nrow - specifica il numero di righe della matrice.
  3. ncol - specifica il numero di colonne della matrice.
  4. byrow - Valore booleano che può essere TRUE o FALSE. Se TRUE, gli elementi della matrice sono disposti per riga, mentre con FALSE sono disposti per colonna.
  5. dimnames - specifica i nomi assegnati a ciascun elemento delle righe e delle colonne di una matrice.

Vediamo un esempio qui sotto in cui "mat" è il nome di una matrice con input vettoriale dentro c composto dai valori 8,4,5,6,7,9. Contiene anche il numero di righe, cioè "nrow" pari a due e "ncol" pari a tre, il che significa che la dimensione della matrice è 2 * 3. Inoltre, gli elementi della matrice sono disposti per riga, il che significa che l'input del vettore viene inserito riga per riga.

mat = matrix(c(8,4,5,6,7,9),nrow = 2, ncol = 3,byrow = TRUE)
print(mat)

L'output del codice sopra è mostrato qui sotto: ci sono tre colonne e due righe e gli elementi sono riempiti per riga.

      [,1]  [,2] [,3]
[1,]    8    4    5
[2,]    6    7    9

Assegnare nomi a righe e colonne

Creiamo una matrice con elementi da 1 a 9, con numero di righe pari a 3. Inoltre, le righe e le colonne sono nominate con un input vettoriale contenente un elenco da r1 a r3 e da c1 a c3.

mat <- matrix(1:9,  nrow = 3,dimnames = list(c("r1","r2","r3"), c("c1","c2","c3")))
mat
    c1    c2    c3
r1    1    4    7
r2    2    5    8
r3    3    6    9

L'output sopra mostra che ci sono elementi da 1 a 9 riempiti per colonna. Inoltre, righe e colonne sono etichettate da r1 a r3 e da c1 a c3.

Accedere agli elementi di una matrice

La matrice sottostante si chiama "mat" e consiste di 3 righe e 3 colonne.

    c1    c2    c3
r1    1    4    7
r2    2    5    8
r3    3    6    9

Per accedere singolarmente agli elementi della matrice sopra, devi passare il nome della matrice con le parentesi quadre contenenti riga e colonna.

  • Per accedere all'elemento 5 della matrice sopra si usa la seguente sintassi.
    mat[2,2]
  • Per accedere all'elemento 6 della matrice sopra si usa la seguente sintassi.
    mat[3,2]
  • Per accedere a tutta la prima colonna della matrice, cioè [1 2 3], si usa la seguente sintassi.
    mat[,1]
  • Per accedere a tutta la seconda riga della matrice, cioè [2 5 8], si usa la seguente sintassi.
    mat[2,]

Operazioni con le matrici

Addizione e sottrazione di matrici

Condizione: La condizione per l'addizione e la sottrazione di matrici è che le matrici abbiano la stessa dimensione, con lo stesso numero di righe e colonne. Per esempio

Le matrici sottostanti mat1 e mat2 hanno dimensione 3 * 3, con 3 righe e 3 colonne, e il numero di righe e colonne in entrambe le matrici è uguale.

mat1 <- matrix(c(5,10,15,20,25,30,35,40,45), nrow = 3)
print(mat1)

mat2 <- matrix(c(50,55,60,65,70,75,80,85,90), nrow = 3)
print(mat2)
     [,1] [,2] [,3]
[1,]    5   20   35
[2,]   10   25   40
[3,]   15   30   45
     [,1] [,2] [,3]
[1,]   50   65   80
[2,]   55   70   85
[3,]   60   75   90

Le matrici sopra sono stampate mostrando ogni voce o elemento, riempito per colonna.

add_output <- mat1 + mat2
cat("Addition","\n")
print(add_output)


sub_output <- mat1 - mat2
cat("Subtraction","\n")
print(sub_output)
Addition
     [,1] [,2] [,3]
[1,]   55   85  115
[2,]   65   95  125
[3,]   75  105  135
Subtraction
     [,1] [,2] [,3]
[1,]  -45  -45  -45
[2,]  -45  -45  -45
[3,]  -45  -45  -45

L'output sopra di addizione e sottrazione di matrici mostra che ogni elemento di entrambe le matrici viene sommato o sottratto. Per esempio, nell'addizione, l'elemento in riga 1 e colonna 1, cioè 5 in mat1, viene sommato all'elemento in riga 1 e colonna 1 in mat2. Di conseguenza si ottiene 55. Allo stesso modo, tutte le voci seguono un processo analogo nell'addizione e nella sottrazione per ottenere il risultato sopra.

Moltiplicazione e divisione di matrici

Condizione: La condizione per la moltiplicazione e la divisione di matrici è che il numero di righe e di colonne sia lo stesso. In altre parole, la dimensione deve essere uguale.

Moltiplicazione di matrici

Vediamo un esempio qui sotto in cui si prendono due matrici chiamate mat1 e mat2 con lo stesso numero di righe pari a tre e colonne pari a due. Ci sono sei elementi nelle matrici riempiti per colonna e la dimensione di ciascuna matrice è 3 * 2.

mat1<- matrix(c(2,4,6,8,10,12), nrow = 3,ncol =2)
print(mat1)

mat2 <- matrix(c(14,16,18,20,22,24), nrow = 3,ncol=2)
print(mat2)

final <- mat1 * mat2
print('------------------')
cat("Multiplication","\n")
print(final)
     [,1] [,2]
[1,]    2    8
[2,]    4   10
[3,]    6   12
     [,1] [,2]
[1,]   14   20
[2,]   16   22
[3,]   18   24
-----------------
Multiplication
     [,1] [,2]
[1,]   28  160
[2,]   64  220
[3,]  108  288

L'output della moltiplicazione di matrici sopra mostra che ogni elemento di mat1 e mat2 viene moltiplicato con il corrispondente. Per esempio, "mat1[1][1]", cioè 2, viene moltiplicato per "mat2[1][1]", cioè 14, per ottenere 28. Allo stesso modo, il processo viene seguito per ogni elemento in entrambe le matrici e, infine, in "mat1[3][2]", cioè 12, e "mat2[3][2]", cioè 24, per ottenere 288.

Divisione di matrici

Vediamo un esempio qui sotto in cui si prendono due matrici chiamate mat1 e mat2 con lo stesso numero di righe pari a tre e colonne pari a due. Ci sono sei elementi nelle matrici riempiti per colonna e la dimensione di ciascuna matrice è 3 * 2.

mat1<- matrix(c(2,4,6,8,10,12), nrow = 3,ncol =2)
print(mat1)

mat2 <- matrix(c(14,16,18,20,22,24), nrow = 3,ncol=2)
print(mat2)
final <- mat1 / mat2
print('--------------')
cat("Division","\n")
print(final)
   [,1] [,2]
[1,]    2    8
[2,]    4   10
[3,]    6   12
     [,1] [,2]
[1,]   14   20
[2,]   16   22
[3,]   18   24
--------------
Division
          [,1]      [,2]
[1,] 0.1428571 0.4000000
[2,] 0.2500000 0.4545455
[3,] 0.3333333 0.5000000

L'output della divisione di matrici sopra mostra che ogni elemento di mat1 e mat2 viene diviso tra loro. Per esempio, "mat1[1][1]", cioè 2, viene diviso per "mat2[1][1]", cioè 14, per ottenere 0.1428571. Allo stesso modo, il processo viene seguito per ogni elemento in entrambe le matrici e, infine, in "mat1[3][2]", cioè 12, e "mat2[3][2]", cioè 24, per ottenere 0.5000000.

Congratulazioni

Congratulazioni, sei arrivato alla fine di questo tutorial!

In questo tutorial hai imparato tutto sulle matrici in R: come nominare righe e colonne, accedere agli elementi e svolgere operazioni come addizione, sottrazione, moltiplicazione e divisione.

Se vuoi imparare di più su R, segui il corso Introduction to R di DataCamp.

Argomenti
R
Data Science

Corsi R

Corso

Introduzione a R

4 ore
3.1M
Impara le basi dell'analisi dei dati in R, compresi vettori, liste e data frame, e fai pratica con R con set di dati reali.
Vedi i dettagliRight Arrow
Inizia Il Corso
Mostra altroRight Arrow
Correlato

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

Mostra AltroMostra Altro