Comment convertir une table en matrice dans R (avec exemple)
Vous pouvez utiliser la syntaxe de base suivante pour convertir une table en matrice dans R :
my_matrix <- matrix(my_table, ncol=ncol(my_table), dimnames=dimnames(my_table))
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : convertir un tableau en matrice dans R
Tout d’abord, créons le bloc de données suivant dans R qui montre l’équipe et la position des différents joueurs de basket-ball :
#create data frame
df <- data.frame(team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
position=c('G', 'G', 'F', 'C', 'G', 'F', 'C', 'C'))
#view data frame
df
team position
1 A G
2 A G
3 A F
4 A C
5 B G
6 B F
7 B C
8 B C
Créons ensuite un tableau qui affiche la fréquence de chaque combinaison d’ équipe et de poste :
#create frequency table of values for team and position
my_table <- table(df$team, df$position)
#view table
my_table
C F G
A 1 1 2
B 2 1 1
Nous pouvons utiliser la fonction class() pour confirmer que l’objet appelé ma_table est bien une table :
#display class of my_table
class(my_table)
[1] "table"
Ensuite, nous pouvons utiliser la syntaxe suivante pour convertir le tableau en matrice :
#convert table to matrix my_matrix <- matrix(my_table, ncol=ncol(my_table), dimnames=dimnames(my_table)) #view matrix my_matrix C F G A 1 1 2 B 2 1 1
Et nous pouvons utiliser la fonction class() pour confirmer que l’objet appelé my_matrix est bien une matrice :
#display class of my_matrix
class(my_matrix)
[1] "matrix" "array"
Remarque n°1 : L’argument ncol garantit que le nombre de colonnes de la matrice correspond au nombre de colonnes du tableau.
Remarque n°2 : L’argument dimnames garantit que les noms de lignes et de colonnes correspondent à ceux de la table.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans R :
Comment convertir une table en bloc de données dans R
Comment convertir une matrice en vecteur dans R
Comment convertir une liste en matrice dans R
Comment convertir une colonne de bloc de données en vecteur dans R