Matrices maken met matrix()
Bouw matrices door data, nrow, ncol en byrow op te geven.
Matrices maken met matrix() is een gratis R Academy-les op CoddyKit. Dit is les 1 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject R Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus R Academy bevat in totaal 4 lessen.
Wat is een matrix in R?
Een matrix in R is een tweedimensionale gegevensstructuur waarin alle elementen van hetzelfde type moeten zijn. Zie het als een tabel met rijen en kolommen. Matrices zijn essentieel voor lineaire algebra, beeldverwerking en statistische berekeningen.
# A simple 2x3 matrix
m <- matrix(1:6, nrow = 2, ncol = 3)
cat('A 2x3 matrix:
')
print(m)
cat('Dimensions:', dim(m), '
') # rows colsmatrix(data, nrow, ncol)
De functie matrix() neemt een gegevensvector en rangschikt deze in rijen en kolommen. Standaard vult R de matrix kolom voor kolom (in kolomvolgorde).
# Filled column by column (default)
m_col <- matrix(1:12, nrow = 3, ncol = 4)
cat('Column-filled 3x4 matrix:
')
print(m_col)
cat('Note: 1,2,3 fill the first COLUMN, not the first row
')byrow = TRUE voor vullen per rij
Als je byrow = TRUE instelt, wordt de matrix rij voor rij gevuld. Dit is vaak intuïtiever wanneer je gegevens in rijen bekijkt, bijvoorbeeld in een spreadsheet.
# Filled row by row
m_row <- matrix(1:12, nrow = 3, ncol = 4, byrow = TRUE)
cat('Row-filled 3x4 matrix:
')
print(m_row)
cat('Note: 1,2,3,4 fill the first ROW
')
# Verify byrow
m_check <- matrix(c(1,2,3,4,5,6), nrow = 2, byrow = TRUE)
print(m_check)Matrix uit een gegevensvector
Je kunt een betekenisvolle matrix maken door een echte gegevensvector door te geven. R hergebruikt de vector als deze korter is dan nrow * ncol, maar het is een goede gewoonte om precies het juiste aantal elementen op te geven.
# Exam scores: 3 students, 4 subjects
scores_data <- c(88, 92, 75, 81, # Student 1
79, 85, 90, 73, # Student 2
95, 78, 82, 88) # Student 3
exam_matrix <- matrix(scores_data, nrow = 3, ncol = 4, byrow = TRUE)
rownames(exam_matrix) <- c('Alice', 'Bob', 'Carol')
colnames(exam_matrix) <- c('Math', 'Science', 'English', 'History')
print(exam_matrix)dim() — dimensies controleren
dim(m) retourneert een numerieke vector met lengte 2: eerst het aantal rijen en daarna het aantal kolommen. Je kunt ook nrow(m) en ncol(m) gebruiken voor afzonderlijke dimensies.
m <- matrix(1:20, nrow = 4, ncol = 5)
cat('dim(m):', dim(m), '
') # 4 5
cat('nrow(m):', nrow(m), '
') # 4
cat('ncol(m):', ncol(m), '
') # 5
cat('Total elements:', length(m), '
') # 20is.matrix() — type controleren
is.matrix(x) retourneert TRUE als x een matrix is. Dit is handig om invoer van functies te valideren. Een matrix is ook een array; is.array() retourneert dus eveneens TRUE.
m <- matrix(1:4, nrow = 2)
v <- c(1, 2, 3, 4)
cat('is.matrix(m):', is.matrix(m), '
') # TRUE
cat('is.matrix(v):', is.matrix(v), '
') # FALSE
cat('is.array(m): ', is.array(m), '
') # TRUE (matrix IS an array)
cat('class(m): ', class(m), '
')Nulmatrix en eenheidsmatrix
Je kunt speciale matrices maken door één waarde te hergebruiken. matrix(0, n, n) maakt een nulmatrix; diag(n) maakt een eenheidsmatrix van n x n (enen op de diagonaal en nullen elders).
# Zero matrix 3x3
zero_mat <- matrix(0, nrow = 3, ncol = 3)
cat('Zero matrix:
')
print(zero_mat)
# Identity matrix 3x3
identity_mat <- diag(3)
cat('Identity matrix:
')
print(identity_mat)Matrix uit hergebruikte waarden
Als de gegevensvector korter is dan nrow * ncol, hergebruikt R de vector (vanaf het begin). R waarschuwt je als de lengte van de vector niet zonder rest deelbaar is door de matrixgrootte.
# Recycle a 2-element vector into a 4x4 matrix
alternate <- matrix(c(0, 1), nrow = 4, ncol = 4)
cat('Recycled 0,1 into 4x4:
')
print(alternate)
# Checkerboard effect: fills column by columnAlleen nrow of ncol opgeven
Je hoeft slechts één van nrow en ncol op te geven — R berekent de andere automatisch op basis van de lengte van de gegevens. Als de gegevens niet zonder rest deelbaar zijn, hergebruikt R ze en geeft het een waarschuwing.
# Only specify nrow, R infers ncol
m1 <- matrix(1:12, nrow = 3)
cat('nrow=3 only, inferred ncol =', ncol(m1), '
')
print(m1)
# Only specify ncol, R infers nrow
m2 <- matrix(1:12, ncol = 4)
cat('ncol=4 only, inferred nrow =', nrow(m2), '
')Matrix met tekst
Matrices zijn niet beperkt tot getallen — je kunt tekstmatrices maken voor categorische gegevens, spelborden of opzoekrasters. Alle elementen moeten echter nog steeds van hetzelfde type zijn.
# Tic-tac-toe board
board <- matrix(c('X', 'O', 'X',
'O', 'X', 'O',
'O', 'X', 'O'),
nrow = 3, ncol = 3, byrow = TRUE)
cat('Tic-Tac-Toe board:
')
print(board)
cat('Type:', class(board), '
')Matrices maken: samenvatting
Hier is een overzicht van manieren om matrices te maken in R:
matrix(data, nrow, ncol)— eenvoudige creatie (standaard vullen per kolom)matrix(data, nrow, ncol, byrow=TRUE)— rij voor rij vullenmatrix(0, n, m)— nulmatrixdiag(n)— eenheidsmatrixdim(m),nrow(m),ncol(m)— dimensies bekijkenis.matrix(m)— type controleren
# Quick creation reference
cat('3x2 column-fill:
'); print(matrix(1:6, 3, 2))
cat('3x2 row-fill:
'); print(matrix(1:6, 3, 2, byrow=TRUE))
cat('2x2 zeros:
'); print(matrix(0, 2, 2))
cat('3x3 identity:
'); print(diag(3))Korte controle
In welke volgorde vult matrix() de elementen standaard (zonder byrow = TRUE)?
Samenvatting: matrices maken
Uitstekend! Dit zijn de belangrijkste punten uit deze les:
matrix(data, nrow, ncol)maakt een matrix — standaard wordt de data kolom voor kolom ingevuld- Gebruik
byrow = TRUEom rij voor rij in te vullen - Je hoeft alleen
nrowOFncolop te geven — R leidt de andere waarde af dim(m)retourneertc(rows, cols);nrow()enncol()geven de afzonderlijke aantallenis.matrix()test of een object een matrix ismatrix(0, n, n)maakt een nulmatrix;diag(n)maakt een eenheidsmatrix
# Full workflow: create, inspect, verify
m <- matrix(seq(2, 24, by = 2), nrow = 4, ncol = 3, byrow = TRUE)
cat('Even numbers matrix:
')
print(m)
cat('Rows:', nrow(m), '| Cols:', ncol(m), '| Elements:', length(m), '
')Leer R met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 43
- Lessen
- 159
Veelgestelde vragen
Is de les “Matrices maken met matrix()” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad R Academy, waaronder “Matrices maken met matrix()”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus R Academy bevat in totaal 4 lessen.
Wat leer ik in “Matrices maken met matrix()”?
Bouw matrices door data, nrow, ncol en byrow op te geven. Je oefent met R Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met R Academy te beginnen?
Ervaring vooraf is niet nodig. R Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.
Hoe lang duurt de les “Matrices maken met matrix()”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over R Academy?
Ja. Elke les over R Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Matrices maken met matrix()
- Indexering en subsetselectie van matrices
- Rekenkundige bewerkingen op matrices
- Matrices transponeren en hervormen