Créer des matrices avec matrix()
Construisez des matrices en spécifiant data, nrow, ncol et byrow.
Créer des matrices avec matrix() est une leçon R Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage R Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours R Academy comprend 4 leçons au total.
Qu’est-ce qu’une matrice dans R ?
Une matrix dans R est une structure de données à deux dimensions dont tous les éléments doivent être du même type. Considérez-la comme un tableau composé de lignes et de colonnes. Les matrices sont essentielles en algèbre linéaire, en traitement d’images et pour les calculs statistiques.
# 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)
La fonction matrix() prend un vecteur de données et l’organise en lignes et en colonnes. Par défaut, R remplit la matrice colonne par colonne (dans l’ordre majoré par les colonnes).
# 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 pour remplir par lignes
Définir byrow = TRUE remplit la matrice ligne par ligne. C’est souvent plus intuitif lorsque vous pensez aux données sous forme de lignes, comme dans une feuille de calcul.
# 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)Créer une matrice à partir d’un vecteur de données
Vous pouvez créer une matrice pertinente en lui transmettant un vecteur de données réel. R réutilisera le vecteur s’il est plus court que nrow * ncol, mais il est recommandé de fournir exactement le bon nombre d’éléments.
# 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() — Vérifier les dimensions
dim(m) renvoie un vecteur numérique de longueur 2 : le nombre de lignes, puis le nombre de colonnes. Vous pouvez également utiliser nrow(m) et ncol(m) pour obtenir chaque dimension séparément.
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() — Vérifier le type
is.matrix(x) renvoie TRUE si x est une matrice. Cela est utile pour valider les entrées d’une fonction. Notez qu’une matrice est également un tableau (is.array() renvoie aussi 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), '
')Matrice nulle et matrice identité
Vous pouvez créer des matrices particulières en réutilisant une seule valeur. matrix(0, n, n) crée une matrice nulle ; diag(n) crée une matrice identité n x n (des 1 sur la diagonale et des 0 ailleurs).
# 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)Matrice à partir de valeurs réutilisées
Lorsque le vecteur de données est plus court que nrow * ncol, R réutilise le vecteur (en recommençant depuis le début). R vous avertit si la longueur du vecteur ne divise pas exactement la taille de la matrice.
# 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 columnFournir uniquement nrow ou ncol
Il vous suffit de fournir nrow ou ncol : R calcule automatiquement l’autre valeur en fonction de la longueur des données. Si les données ne se répartissent pas exactement, R les réutilise et affiche un avertissement.
# 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), '
')Matrice de caractères
Les matrices ne se limitent pas aux nombres : vous pouvez créer des matrices character pour des données catégorielles, des plateaux de jeu ou des grilles de correspondance. Cependant, tous les éléments doivent toujours être du même type.
# 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), '
')Créer des matrices : résumé
Voici un résumé des différentes manières de créer des matrices dans R :
matrix(data, nrow, ncol)— création de base (remplissage par colonnes par défaut)matrix(data, nrow, ncol, byrow=TRUE)— remplir ligne par lignematrix(0, n, m)— matrice nullediag(n)— matrice identitédim(m),nrow(m),ncol(m)— examiner les dimensionsis.matrix(m)— vérifier le type
# 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))Vérification rapide
Par défaut (sans byrow = TRUE), dans quel ordre matrix() remplit-elle les éléments ?
Récapitulatif : créer des matrices
Excellent ! Voici les points essentiels de cette leçon :
matrix(data, nrow, ncol)crée une matrice : par défaut, les données la remplissent colonne par colonne- Utilisez
byrow = TRUEpour remplir la matrice ligne par ligne - Il vous suffit de préciser
nrowOUncol: R déduit l’autre valeur dim(m)renvoiec(rows, cols);nrow()etncol()donnent les nombres correspondantsis.matrix()vérifie si un objet est une matricematrix(0, n, n)crée une matrice de zéros ;diag(n)crée une matrice identité
# 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), '
')Questions Fréquemment Posées
La leçon « Créer des matrices avec matrix() » est-elle gratuite ?
Oui — le texte complet de « Créer des matrices avec matrix() » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours R Academy, passe à CoddyKit PRO. Le cours R Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Créer des matrices avec matrix() » ?
Construisez des matrices en spécifiant data, nrow, ncol et byrow. Tu pratiques R Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer R Academy ?
Aucune expérience préalable n'est requise. R Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Créer des matrices avec matrix() » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon R Academy ?
Oui. Chaque leçon R Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Créer des matrices avec matrix()
- Indexation et sous-ensembles de matrices
- Arithmétique et opérations sur les matrices
- Transposer et remodeler des matrices