Recherche…


Introduction

Matrices stockent des données

Créer des matrices

Sous le capot, une matrice est un type particulier de vecteur à deux dimensions. Comme un vecteur, une matrice ne peut avoir qu'une seule classe de données. Vous pouvez créer des matrices en utilisant la fonction de matrix comme indiqué ci-dessous.

matrix(data = 1:6, nrow = 2, ncol = 3)
##      [,1] [,2] [,3]
## [1,]    1    3    5
## [2,]    2    4    6

Comme vous pouvez le voir, cela nous donne une matrice de tous les nombres de 1 à 6 avec deux lignes et trois colonnes. Le paramètre data prend un vecteur de valeurs, nrow spécifie le nombre de lignes dans la matrice et ncol spécifie le nombre de colonnes. Par convention, la matrice est remplie par colonne. Le comportement par défaut peut être modifié avec le paramètre byrow comme indiqué ci-dessous:

matrix(data = 1:6, nrow = 2, ncol = 3, byrow = TRUE)
##      [,1] [,2] [,3]
## [1,]    1    2    3
## [2,]    4    5    6

Les matrices ne doivent pas nécessairement être numériques - tout vecteur peut être transformé en matrice. Par exemple:

matrix(data = c(TRUE, TRUE, TRUE, FALSE, FALSE, FALSE), nrow = 3, ncol = 2)
##      [,1]  [,2]
## [1,] TRUE FALSE
## [2,] TRUE FALSE
## [3,] TRUE FALSE
matrix(data = c("a", "b", "c", "d", "e", "f"), nrow = 3, ncol = 2)
##      [,1] [,2]
## [1,] "a"  "d" 
## [2,] "b"  "e" 
## [3,] "c"  "f"

Les matrices de vecteurs similaires peuvent être stockées en tant que variables, puis appelées ultérieurement. Les lignes et les colonnes d'une matrice peuvent avoir des noms. Vous pouvez les regarder en utilisant les rownames et de colnames . Comme indiqué ci-dessous, les lignes et les colonnes n'ont initialement pas de nom, ce qui est indiqué par NULL . Cependant, vous pouvez leur attribuer des valeurs.

mat1 <- matrix(data = 1:6, nrow = 2, ncol = 3, byrow = TRUE)
rownames(mat1)
## NULL
colnames(mat1)
## NULL
rownames(mat1) <- c("Row 1", "Row 2")
colnames(mat1) <- c("Col 1", "Col 2", "Col 3")
mat1
##       Col 1 Col 2 Col 3
## Row 1     1     2     3
## Row 2     4     5     6

Il est important de noter que, comme pour les vecteurs, les matrices ne peuvent avoir qu’un seul type de données. Si vous essayez de spécifier une matrice avec plusieurs types de données, les données seront forcées dans la classe de données d'ordre supérieur.

La class , is , et en as fonctions peuvent être utilisées pour vérifier et contraindre les structures de données de la même manière qu’elles ont été utilisées sur les vecteurs de la classe 1.

class(mat1)
## [1] "matrix"
is.matrix(mat1)
## [1] TRUE
as.vector(mat1)
## [1] 1 4 2 5 3 6


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow