Un array è una struttura dati in grado di contenere dati multidimensionali. In R, gli array sono oggetti che possono contenere dati a due o più dimensioni. Ad esempio, nelle matrici quadrate ci possono essere due righe e due colonne e la dimensione può essere cinque. Gli array possono memorizzare valori di un solo tipo di dato. I dati possono essere a più dimensioni, con righe e colonne e dimensioni di una certa lunghezza.
Creazione di un array
La funzione array() crea un array che accetta un vettore, cioè i numeri, e la dimensione ("dim") come argomenti.
Vediamo un esempio in cui vengono creati due vettori chiamati "array1" e "array2".
vector1 = c (5, 10, 15,20)
vector2 = c (25, 30, 35, 40, 45, 50,55,60)
Puoi usare i due vettori sopra come input per un array in cui la dimensione è considerata 4 * 4, e vengono create due matrici o dati dimensionali.
final = array (c (array1, array2),dim =c(4,4,3))
print (final)
Rinominiamo il nostro array in "Arr1" e "Arr2" usando "matrix.names". Inoltre, i nomi delle righe vengono cambiati in ("row1","row2") e i nomi delle colonne in ("column1","column2","column3") rispettivamente. La dimensione della matrice è di 2 righe e 3 colonne.
array1 = c (9 , 18 )
array2 = c (27,36)
r.names = c ("column1","column2","column3")
c.names = c ("row1","row2")
m.names = c ("Arr1", "Arr2")
final = array (c (array1,array2), dim=c (2,3,2), dimnames=list (c.names, r.names, m.names))
print(final)
L'output del codice sopra è il seguente, con due righe e tre colonne. Inoltre, il valore nella colonna si ripete quando i valori finiscono:
Un array è composto da elementi in modo multidimensionale, dove ogni elemento può essere accessibile per l'operazione. Gli elementi possono essere indicizzati usando '[]', mentre negli array simili a matrici ci sono righe e colonne che possono essere indicizzate con: mat[row, column]
Prendiamo un esempio in cui l'array contiene input vettoriali da 1 a 9. Ci sono tre righe e tre colonne e sono inclusi i valori da 1 a 9. 'c.names)' è il nuovo nome delle colonne che contiene i vettori ('c1', 'c2', 'c3') e 'r.names' sono i nuovi nomi delle righe ('r1', 'r2', 'r3'), anch'essi vettori.
a1= c (1,2,3,4)
a2= c (5,6,7,8,9)
r.names = c ("c1","c2","c3")
c.names = c ("r1","r2","r3")
m.names = c ("first")
arr = array (c (a1,a2), dim=c (3,3,1), dimnames=list (c.names, r.names, m.names))
print(arr)
, , first
c1 c2 c3
r1 1 4 7
r2 2 5 8
r3 3 6 9
L'output del codice sopra è il seguente:
, , first
c1 c2 c3
r1 1 4 7
r2 2 5 8
r3 3 6 9
Come puoi vedere, sono state generate le matrici da 1 a 9 con dimensione 3 × 3 (righe × colonne) e i nomi di righe e colonne sono stati cambiati.
Vediamo come estrarre gli elementi nell'array con i seguenti esempi.
Estraiamo il numero '7' dall'array 'arr' sopra.
arr[1,3,1]
7
L'output del codice sopra è 7. In 'arr[1,3,1]' si estrae la riga 1 con la colonna 3 e 1 indica il primo array 'arr'.
Per accedere a 1, 'arr[1,1,1]' estrae la riga 1 con la colonna 1 e 1 indica il primo array 'arr'.
arr[1,1,1]
1
L'output del codice sopra è 1.
Per accedere a più valori insieme, devi specificare l'intervallo che vuoi.
arr[1:2,1:2,1]
c1
c2
r1
1
4
r2
2
5
Il codice sopra restituisce il seguente output, dove vengono estratti 2 righe, 2 colonne e 1 indica il primo array 'arr':
c1 c2
r1 1 4
r2 2 5
Puoi accedere all'intero array 'arr' con la seguente sintassi, dove 'arr[ , ,1]' specifica di includere tutte le righe e le colonne, ciascuna separata da virgole e indicata dallo spazio. L'1 specifica l'array 'arr' da estrarre.
arr[ , ,1]
c1
c2
c3
r1
1
4
7
r2
2
5
8
r3
3
6
9
Il codice sopra restituisce il seguente output, in cui sono presenti tutti gli elementi:
c1 c2 c3
r1 1 4 7
r2 2 5 8
r3 3 6 9
Puoi ottenere l'intera seconda riga con il seguente codice, dove arr[2, ,1] prende la seconda riga con lo spazio, e 1 è l'array 'arr' da estrarre.
arr[2,,1]
c1
2
c2
5
c3
8
Il codice sopra restituisce il seguente output e stampa anche c1, c2, c3.
c1 2
c2 5
c3 8
Puoi ottenere l'intera seconda colonna con il seguente codice, dove arr[,2,1] lo spazio con 2 indica la seconda colonna, e 1 è l'array 'arr' da estrarre.
mat[ ,2,1]
r1
4
r2
5
r3
6
Il codice sopra restituisce il seguente output e stampa anche r1, r2, r3.
r1 4
r2 5
r3 6
Creazione e somma di matrici
Creiamo due matrici chiamate mat1 e mat2 da 'arr[ , ,1]' in cui tutte le righe e le colonne di 'arr' vengono copiate.
mat1 = arr[,,1]
mat2 = arr[,,1]
c1 c2 c3
r1 2 8 14
r2 4 10 16
r3 6 12 18
Somma le due matrici 'mat1' e 'mat2' e salva il risultato in final. Viene anche stampato l'output.
final <- mat1+mat2
print(final)
L'output qui sotto mostra che ogni riga e colonna di mat1 e mat2 viene sommata elemento per elemento.
c1 c2 c3
r1 2 8 14
r2 4 10 16
r3 6 12 18
apply()
'apply()' è uno dei pacchetti R che include diverse funzioni che aiutano a scrivere codice in modo più semplice ed efficiente. Sotto vedrai un esempio di come può essere usato per calcolare la somma di due array diversi.
La sintassi di apply() è: apply(x, margin, function)
Gli argomenti indicano che: x: Un array o dati bidimensionali come matrici. margin: Indica a quale margine applicare la funzione: c(1) per le righe, c(2) per le colonne e c(1,2) per righe e colonne. function: Indica la funzione integrata di R o definita dall'utente da applicare ai dati forniti.
Creiamo un vettore chiamato 'array1' di lunghezza tre e 'array2' di lunghezza sei con il seguente codice.
array1 = c(5,10,15)
array2 = c(15,20,25,30,35,40)
Qui sotto puoi vedere che 'array()' accetta due vettori chiamati 'array1' e 'array2' con una dimensione di 3 righe, 3 colonne, e vengono create 2 matrici memorizzate in 'my. Array'.
'apply()' viene usata qui sotto per calcolare la somma delle due matrici per colonna.
final <- apply(my.Array, c(2), sum)
print(final)
[1] 60 120 210
Come puoi vedere sopra, si usa c(2) come margine: gli elementi della matrice in 'my. Array' vengono sommati per colonna per ottenere il seguente output.
60 120 210
Infine, 'apply()' è usata qui sotto per calcolare la somma delle due matrici per riga.
final <- apply(my.Array, c(1), sum)
print(final)
[1] 100 130 160
Come puoi vedere sopra, si usa c(1) come margine: gli elementi della matrice in 'my. Array' vengono sommati per riga per ottenere il seguente output.
100 130 160
Congratulazioni
Congratulazioni, sei arrivato alla fine di questo tutorial!
Hai imparato gli array di R insieme alla loro creazione, l'indicizzazione in un array con esempi, oltre alla creazione e somma di matrici e all'uso della funzione apply().
Se vuoi saperne di più su R, segui il corso Introduction to R di DataCamp.
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.