Ga naar hoofdinhoud

Matrices in R Tutorial

Leer alles over de matrix in R, rijen en kolommen benoemen, elementen benaderen en rekenen zoals optellen, aftrekken, vermenigvuldigen en delen.
Bijgewerkt 2 okt 2026  · 7 min lezen

Verken met AI

ChatGPTClaudePerplexity

Matrixen zijn objecten waarvan de elementen in een tweedimensionale structuur staan, meestal numeriek, om allerlei berekeningen mee te doen.

Als voorbeeld bekijken we de matrix hieronder.

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

De bovenstaande matrix laat zien dat er 3 rijen en 3 kolommen zijn.

In R kun je een matrix maken met 'matrix()'.

De syntaxis van een matrix in R kun je als volgt definiëren:

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

De bovenstaande parameters voor de matrix zijn als volgt gedefinieerd:

  1. value - specificeert de vectorinvoer; elke invoer geeft de elementen in een matrix aan.
  2. nrow - specificeert het aantal rijen in de matrix.
  3. ncol - specificeert het aantal kolommen in de matrix.
  4. byrow - De booleaanse waarde is TRUE of FALSE. Als TRUE, worden de elementen van de matrix rij voor rij ingevuld; bij FALSE worden de elementen kolomsgewijs ingevuld.
  5. dimnames - specificeert de namen die aan de rijen en kolommen van een matrix worden gegeven.

Bekijk het onderstaande voorbeeld, waarin 'mat' de naam is van een matrix met vectorinvoer binnen c, met de waarden 8,4,5,6,7,9. Het bevat ook het aantal rijen, dus 'nrow' als twee en 'ncol' als drie, wat betekent dat de afmeting van de matrix 2 × 3 is. Ook zijn de elementen van de matrix rij voor rij ingevuld, wat betekent dat de waarden van de vectorinvoer rijgewijs worden geplaatst.

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

De uitvoer van de bovenstaande code staat hieronder. Er zijn drie kolommen en twee rijen, en de elementen zijn rijgewijs ingevuld.

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

Rijen en kolommen benoemen

Laten we een matrix maken met de elementen van 1 tot en met 9, met 3 rijen. Ook worden de rijen en kolommen benoemd met de vectorinvoer die een lijst van r1 tot r3 en c1 tot c3 bevat.

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

De bovenstaande uitvoer laat zien dat de elementen van 1 tot en met 9 kolomsgewijs zijn ingevuld. Ook zie je de rijen en kolommen gelabeld van r1 tot r3 en c1 tot c3.

Elementen in een matrix benaderen

De onderstaande matrix heet 'mat' en bestaat uit 3 rijen en 3 kolommen.

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

Om de bovenstaande elementen van een matrix afzonderlijk te benaderen, geef je de matrixnaam met een haakje erachter, met daarin de rijen en kolommen.

  • Om element 5 uit de bovenstaande matrix te benaderen, gebruik je de volgende syntaxis.
    mat[2,2]
  • Om element 6 uit de bovenstaande matrix te benaderen, gebruik je de volgende syntaxis.
    mat[3,2]
  • Om de hele eerste kolom van de matrix te benaderen, dus [1 2 3], gebruik je de volgende syntaxis.
    mat[,1]
  • Om de hele tweede rij van de matrix te benaderen, dus [2 5 8], gebruik je de volgende syntaxis.
    mat[2,]

Rekenen met matrixen

Matrices optellen en aftrekken

Voorwaarde: Voor matrixoptelling en -aftrekking moeten de matrixen dezelfde afmeting hebben: het aantal rijen en kolommen moet gelijk zijn. Bijvoorbeeld

De onderstaande matrixen mat1 en mat2 hebben dimensie 3 × 3, met 3 rijen en 3 kolommen, waarbij het aantal rijen en kolommen in beide matrixen gelijk is.

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

De bovenstaande matrixen zijn afgedrukt, waarbij elk element wordt getoond en de waarden kolomsgewijs zijn ingevuld.

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

De bovenstaande uitvoer van matrixoptelling en -aftrekking laat zien dat elk element van beide matrixen bij elkaar wordt opgeteld of van elkaar afgetrokken. Bij matrixoptelling wordt bijvoorbeeld het element op rij 1 en kolom 1, dus 5 in mat1, opgeteld bij het element op rij 1 en kolom 1 in mat2. Dat geeft als resultaat 55. Op dezelfde manier worden alle elementen verwerkt bij optellen en aftrekken om tot het bovenstaande resultaat te komen.

Matrices vermenigvuldigen en delen

Voorwaarde: Voor matrixvermenigvuldiging en -deling moeten het aantal rijen en kolommen gelijk zijn. Met andere woorden: de dimensie moet gelijk zijn.

Matrixvermenigvuldiging

Bekijk het onderstaande voorbeeld waarin twee matrixen, mat1 en mat2, worden gebruikt met hetzelfde aantal rijen (drie) en kolommen (twee). Er zijn zes elementen in elke matrix, kolomsgewijs ingevuld, en de afmeting van elke matrix is 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

De bovenstaande uitvoer van matrixvermenigvuldiging laat zien dat elk element van mat1 en mat2 met elkaar wordt vermenigvuldigd. Zo wordt 'mat1[1][1]', dus 2, vermenigvuldigd met 'mat2[1][1]', dus 14, wat 28 oplevert. Op dezelfde manier wordt het proces voor elk element in beide matrixen gevolgd en tenslotte levert 'mat1[3][2]', dus 12, met 'mat2[3][2]', dus 24, het resultaat 288 op.

Matrixdeling

Bekijk het onderstaande voorbeeld waarin twee matrixen, mat1 en mat2, worden gebruikt met hetzelfde aantal rijen (drie) en kolommen (twee). Er zijn zes elementen in elke matrix, kolomsgewijs ingevuld, en de afmeting van elke matrix is 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

De bovenstaande uitvoer van matrixdeling laat zien dat elk element van mat1 en mat2 door elkaar wordt gedeeld. Zo wordt 'mat1[1][1]', dus twee, gedeeld door 'mat2[1][1]', dus 14, wat 0.1428571 oplevert. Op dezelfde manier wordt het proces voor elk element in beide matrixen gevolgd en tenslotte levert 'mat1[3][2]', dus 12, met 'mat2[3][2]', dus 24, het resultaat 0.5000000 op.

Gefeliciteerd

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

In deze tutorial leer je alles over de matrix in R, rijen en kolommen benoemen, elementen benaderen en rekenen zoals optellen, aftrekken, vermenigvuldigen en delen.

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

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