Ga naar hoofdinhoud

Arrays in R

Leer over arrays in R, inclusief indexeren met voorbeelden, en over het aanmaken en optellen van matrices en de apply()-functie.
Bijgewerkt 2 okt 2026  · 8 min lezen

Verken met AI

ChatGPTClaudePerplexity

Een array is een datastructuur die multidimensionale data kan bevatten. In R zijn arrays objecten die twee of meer dimensies kunnen hebben. In bijvoorbeeld vierkante matrices kunnen er twee rijen en twee kolommen zijn en kan de dimensie vijf aannemen. Arrays kunnen alleen waarden opslaan van hetzelfde datatype. De data kan meer dan eendimensionaal zijn, met rijen en kolommen en dimensies van een bepaalde lengte.

Aanmaken van een array

De functie array() maakt een array op basis van een vector (getallen) en een dimensie ('dim') als argument.

Bekijk het onderstaande voorbeeld waarin twee vectoren met de namen 'array1' en 'array2' worden gemaakt.

vector1 =  c (5, 10, 15,20)
vector2 =  c (25, 30, 35, 40, 45, 50,55,60)

Je kunt de twee bovenstaande vectoren als invoer voor een array gebruiken waarbij de dimensie wordt beschouwd als 4 * 4, en er twee matrices of dimensionale data worden gecreëerd.

final = array (c (array1, array2),dim =c(4,4,3))
print (final)

De output van de bovenstaande code is als volgt:

, , 1

     [,1] [,2] [,3] [,4]
[1,]    5   25   45    5
[2,]   10   30   50   10
[3,]   15   35   55   15
[4,]   20   40   60   20

, , 2

     [,1] [,2] [,3] [,4]
[1,]   25   45    5   25
[2,]   30   50   10   30
[3,]   35   55   15   35
[4,]   40   60   20   40

, , 3

     [,1] [,2] [,3] [,4]
[1,]   45    5   25   45
[2,]   50   10   30   50
[3,]   55   15   35   55
[4,]   60   20   40   60

Laten we onze array hernoemen naar "Arr1" en "Arr2" met behulp van "matrix.names". Ook worden de rijnamen gewijzigd naar ("row1","row2") en de kolomnamen naar ("column1","column2","column3"). De dimensie van de matrix is 2 rijen en 3 kolommen.

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)

De output van de bovenstaande code staat hieronder, met twee rijen en drie kolommen. Ook wordt de waarde in de kolom herhaald zodra deze is afgelopen:

, , Arr1

     column1 column2 column3
row1       9      27       9
row2      18      36      18

, , Arr2

     column1 column2 column3
row1      27       9      27
row2      36      18      36

Indexeren in een array

Een array bestaat uit elementen op een multidimensionale manier waarbij elk element kan worden benaderd voor bewerkingen. De elementen kunnen worden geïndexeerd met '[]', waarbij array-achtige matrices bestaan uit rijen en kolommen die je kunt indexeren als: mat[row, column]

Laten we onderstaand voorbeeld nemen, waar de array vectorinvoer van 1 tot 9 bevat. Er zijn slechts drie rijen en drie kolommen waarin de waarden van 1 tot en met 9 zijn opgenomen. De 'c.names)' is de nieuwe kolomnaam met de vector ('c1', 'c2', 'c3') en 'r.names' zijn de nieuwe rijnamen ('r1', 'r2', 'r3'), ook als vector.

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

De output van de bovenstaande code is als volgt:

 , , first

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

Je ziet dat de matrices van 1 tot 9 zijn gegenereerd met een 3 3-dimensie (rij kolom)-vorm, en dat de namen van rijen en kolommen zijn gewijzigd.

Laten we bekijken hoe de elementen in de array kunnen worden opgehaald met de volgende voorbeelden.

  1. Laten we het getal '7' uit de bovenstaande array 'arr' halen.
arr[1,3,1]

7

De output van de bovenstaande code is 7. In 'arr[1,3,1]' wordt rij 1 met kolom 3 en 1 is de eerste array 'arr' die wordt opgehaald.

  1. Om 1 te benaderen: met 'arr[1,1,1]' wordt rij 1 met kolom 1 en 1 is de eerste array 'arr' opgehaald.
arr[1,1,1]

1

De output van de bovenstaande code is 1.

  1. Om meerdere waarden tegelijk te benaderen, moet je het gewenste bereik opgeven.
arr[1:2,1:2,1]
  c1 c2
r1 1 4
r2 2 5

De bovenstaande code geeft de volgende output, waarin de waarden met 2 rijen, 2 kolommen en 1 als de eerste array 'arr' worden opgehaald:

    c1    c2
r1    1    4
r2    2    5 
  1. Je kunt de volledige array 'arr' opvragen met de volgende syntaxis, waarbij 'arr[ , ,1]' aangeeft dat alle rijen en kolommen moeten worden opgenomen, elk gescheiden door komma's die worden aangeduid door een spatie. De 1 specificeert de array 'arr' die moet worden opgehaald.
arr[ , ,1]
  c1 c2 c3
r1 1 4 7
r2 2 5 8
r3 3 6 9

De bovenstaande code geeft de volgende output, waarin alle elementen aanwezig zijn:

    c1    c2    c3
r1    1    4    7
r2    2    5    8
r3    3    6    9 
  1. Je kunt de volledige tweede rij opvragen met de volgende code, waarbij arr[2, ,1] de tweede rij pakt met een spatie, en 1 de 'arr' is die moet worden opgehaald.
arr[2,,1]
c1
2
c2
5
c3
8

De bovenstaande code geeft de volgende output en print ook c1, c2, c3.

c1 2
c2 5
c3 8
  1. Je kunt de volledige tweede kolom opvragen met de volgende code, waarbij arr[,2,1] met 2 de tweede kolom is, en 1 de 'arr' die moet worden opgehaald.
mat[ ,2,1]
r1
4
r2
5
r3
6

De bovenstaande code geeft de volgende output en print ook r1, r2, r3.

r1 4
r2 5
r3 6

Matrix aanmaken en optellen

Laten we een matrix met de naam mat1 en mat2 maken uit 'arr[ , ,1]' waarbij alle rijen en kolommen uit 'arr' worden gekopieerd.

mat1 = arr[,,1]
mat2 = arr[,,1]
   c1 c2 c3
r1  2  8 14
r2  4 10 16
r3  6 12 18 

Tel de twee matrices 'mat1' en 'mat2' bij elkaar op en sla het resultaat op in final. De output wordt ook geprint.

final <- mat1+mat2
print(final)

De onderstaande output laat zien dat elke rij en kolom van mat1 en mat2 bij elkaar zijn opgeteld.

   c1 c2 c3
r1  2  8 14
r2  4 10 16
r3  6 12 18 

apply()

'apply()' is een van de R-packages met verschillende functies die helpen om eenvoudiger en efficiënter code te schrijven. Hieronder zie je een voorbeeld waarin het wordt gebruikt om de som van twee verschillende arrays te berekenen.

De syntaxis voor apply() is:
apply(x, margin, function)

Het bovenstaande argument geeft aan dat:
x: Een array of tweedimensionale data als matrices.
margin: Geeft aan dat een functie wordt toegepast met als margewaarde c(1) voor rijen, c(2) voor kolommen, en c(1,2) voor zowel rijen als kolommen.
function: Geeft de in R ingebouwde of door de gebruiker gedefinieerde functie aan die op de gegeven data moet worden toegepast.

Laten we een vector met de naam 'array1' van lengte drie en 'array2' van lengte zes maken met de volgende code.

array1 = c(5,10,15)
array2 = c(15,20,25,30,35,40)

Hieronder zie je dat 'array()' twee vectoren 'array1' en 'array2' accepteert met een dimensie van 3 rijen, 3 kolommen, en dat er 2 matrices worden gemaakt en opgeslagen in 'my. Array'.

my.Array <- array(c(array1,array2),dim = c(3,3,2))
print(my.Array)
, , 1

     [,1] [,2] [,3]
[1,]    5   15   30
[2,]   10   20   35
[3,]   15   25   40

, , 2

     [,1] [,2] [,3]
[1,]    5   15   30
[2,]   10   20   35
[3,]   15   25   40

De bovenstaande code geeft de volgende output, waarbij twee matrices zijn gemaakt met de 3 3 (rijen kolommen).

, , 1

     [,1] [,2] [,3]
[1,]    5   15   30
[2,]   10   20   35
[3,]   15   25   40

, , 2

     [,1] [,2] [,3]
[1,]    5   15   30
[2,]   10   20   35
[3,]   15   25   40

'apply()' wordt hieronder gebruikt om de som van de twee matrices kolomsgewijs te berekenen.

final <- apply(my.Array, c(2), sum)
print(final)
[1]  60 120 210

Je ziet hierboven dat c(2) voor margin is gebruikt, waarbij de elementen van de matrix in 'my. Array' kolomsgewijs worden opgeteld om de volgende output te krijgen.

60 120 210

Tot slot wordt 'apply()' hieronder gebruikt om de som van de twee matrices rijsgewijs te berekenen.

final <- apply(my.Array, c(1), sum)
print(final)
[1] 100 130 160

Je ziet hierboven dat c(1) voor margin is gebruikt, waarbij de elementen van de matrix in 'my. Array' rijsgewijs worden opgeteld om de volgende output te krijgen.

100 130 160

Gefeliciteerd

Gefeliciteerd, je bent aan het einde van deze tutorial gekomen!

Je hebt R's Array leren kennen, inclusief het aanmaken ervan, indexeren in een array met voorbeelden, en ook het aanmaken en optellen van matrices samen met de apply()-functie.

Wil je meer leren over R? Volg dan DataCamp's Introduction to R-cursus.

Referenties:
R-Arrays
R Array Function and Create Array in R

Onderwerpen
R
Data Science

R-cursussen

Cursus

Introductie tot R

4 uur
3.1M
Beheers de basis van data-analyse in R, inclusief vectors, lists en data frames, en oefen met echte datasets.
Bekijk detailsRight Arrow
Start Cursus
Meer bekijkenRight Arrow
Gerelateerd

blog

AI vanaf nul leren in 2026: een complete gids van de experts

Ontdek alles wat je moet weten om in 2026 AI te leren, van tips om te beginnen tot handige resources en inzichten van industrie-experts.
Adel Nehme's photo

Adel Nehme

15 min

Meer BekijkenMeer Bekijken