Un tableau (array) est une structure de données capable de stocker des données multidimensionnelles. En R, un tableau est un objet qui peut contenir des données à deux dimensions ou plus. Par exemple, des matrices carrées peuvent avoir deux lignes et deux colonnes, et la dimension peut aller jusqu’à cinq. Les tableaux ne stockent que des valeurs d'un même type de données. Les données peuvent être multidimensionnelles, avec des lignes, des colonnes et des dimensions de longueurs données.
Création d’un tableau
La fonction array() crée un tableau à partir d’un vecteur (des nombres) et d’un argument de dimension ("dim").
Voyons un exemple ci-dessous où deux vecteurs nommés "array1" et "array2" sont créés.
vector1 = c (5,10,15,20)
vector2 = c (25,30,35,40,45,50,55,60)Propulsé par
Vous pouvez utiliser les deux vecteurs ci-dessus comme entrée d’un tableau avec une dimension 4 * 4 ; deux matrices (données bidimensionnelles) sont alors créées.
final = array (c (array1, array2),dim =c(4,4,3))print(final)Propulsé par
La sortie du code ci-dessus est la suivante :
,,1[,1][,2][,3][,4][1,]525455[2,]10305010[3,]15355515[4,]20406020,,2[,1][,2][,3][,4][1,]2545525[2,]30501030[3,]35551535[4,]40602040,,3[,1][,2][,3][,4][1,]4552545[2,]50103050[3,]55153555[4,]60204060Propulsé par
Renommons maintenant notre tableau en "Arr1" et "Arr2" en utilisant "matrix.names". De plus, les noms de lignes deviennent ("row1","row2") et les noms de colonnes ("column1","column2","column3"). La matrice a 2 lignes et 3 colonnes.
array1 = c (9,18)
array2 = c (27,36)
r.names = c ("column1","column2","column3")
c.names = c ("row1","row2")
m.names = c ("Arr1","Arr2")
final = array (c (array1,array2), dim=c (2,3,2), dimnames=list(c.names, r.names, m.names))print(final)Propulsé par
Voici la sortie du code ci-dessus : il y a deux lignes et trois colonnes. Notez aussi que les valeurs d’une colonne se répètent une fois épuisées :
Un tableau contient des éléments organisés de manière multidimensionnelle, et chaque élément peut être accédé pour effectuer des opérations. Les éléments se récupèrent avec les crochets '[]'. Pour un tableau de type matrice avec lignes et colonnes, l’indexation se fait ainsi : mat[row, column]
Prenons l’exemple ci-dessous : le tableau contient les valeurs de 1 à 9. Il y a trois lignes et trois colonnes, couvrant les valeurs de 1 à 9. 'c.names' définit les nouveaux noms de colonnes via le vecteur ('c1', 'c2', 'c3') et 'r.names' les nouveaux noms de lignes ('r1', 'r2', 'r3').
a1= c (1,2,3,4)
a2= c (5,6,7,8,9)
r.names = c ("c1","c2","c3")
c.names = c ("r1","r2","r3")
m.names = c ("first")
arr = array (c (a1,a2), dim=c (3,3,1), dimnames=list(c.names, r.names, m.names))print(arr)Propulsé par
,, first
c1 c2 c3
r1 147
r2 258
r3 369Propulsé par
La sortie du code ci-dessus est :
,, first
c1 c2 c3
r1 147
r2 258
r3 369Propulsé par
Vous voyez que les valeurs de 1 à 9 sont disposées en matrice 3 × 3 (lignes × colonnes), avec des noms de lignes et de colonnes personnalisés.
Voyons maintenant comment extraire des éléments du tableau avec les exemples suivants.
Extrayons le nombre "7" du tableau 'arr' ci-dessus.
Vous pouvez récupérer la tranche entière avec la syntaxe suivante : 'arr[ , ,1]' indique que l’on prend toutes les lignes et toutes les colonnes (espaces laissés vides), et 1 précise la tranche à extraire.
Vous pouvez récupérer toute la deuxième ligne avec le code suivant : arr[2, ,1] sélectionne la deuxième ligne (espace pour les colonnes), et 1 est la tranche à extraire.
Vous pouvez récupérer toute la deuxième colonne avec le code suivant : arr[,2,1] (espace pour les lignes, 2 pour la colonne), et 1 est la tranche à extraire.
'apply()' fait partie des packages R et regroupe plusieurs fonctions qui facilitent et optimisent l’écriture de code. Voyez ci-dessous un exemple d’utilisation pour calculer des sommes sur deux tableaux.
La syntaxe de apply() est : apply(x, margin, function)
Les arguments signifient : x : un tableau (array) ou des données bidimensionnelles (matrices). margin : la marge d’application de la fonction : c(1) pour les lignes, c(2) pour les colonnes, c(1,2) pour lignes et colonnes. function : la fonction R (native ou définie par l’utilisateur) à appliquer aux données.
Créons un vecteur 'array1' de longueur trois et 'array2' de longueur six avec le code suivant.
array1 = c(5,10,15)
array2 = c(15,20,25,30,35,40)Propulsé par
Ci-dessous, 'array()' accepte deux vecteurs 'array1' et 'array2' pour créer un objet de dimension 3 lignes, 3 colonnes et 2 matrices, stocké dans 'my.Array'.
my.Array <- array(c(array1,array2),dim = c(3,3,2))print(my.Array)Propulsé par
,,1[,1][,2][,3][1,]51530[2,]102035[3,]152540,,2[,1][,2][,3][1,]51530[2,]102035[3,]152540Propulsé par
Le code ci-dessus produit la sortie suivante : deux matrices de dimension 3 × 3 (lignes × colonnes) sont créées.
,,1[,1][,2][,3][1,]51530[2,]102035[3,]152540,,2[,1][,2][,3][1,]51530[2,]102035[3,]152540Propulsé par
Nous utilisons 'apply()' ci-dessous pour calculer la somme des deux matrices par colonnes.
final <-apply(my.Array, c(2),sum)print(final)Propulsé par
Ici, la marge c(2) indique une agrégation par colonnes : les éléments de 'my.Array' sont additionnés colonne par colonne pour obtenir la sortie ci-dessous.
Félicitations, vous êtes arrivé au bout de ce tutoriel !
Vous avez découvert les tableaux en R, leur création et leur indexation, ainsi que la création et l’addition de matrices et l’utilisation de la fonction apply().
Pour aller plus loin avec R, suivez le cours Introduction to R de DataCamp.
Gagnez en confiance dans la régression par les MCO en maîtrisant ses fondements théoriques. Découvrez comment réaliser des mises en œuvre simples dans Excel, R et Python.
Découvrez les fonctions et méthodes des listes Python. Veuillez suivre les exemples de code pour list() et d'autres fonctions et méthodes Python dès maintenant.
Poursuivez votre parcours pour devenir un ninja de R en vous familiarisant avec les instructions conditionnelles, les boucles et les fonctions vectorielles.
Un tableau (array) est une structure de données capable de stocker des données multidimensionnelles. En R, un tableau est un objet qui peut contenir des données à deux dimensions ou plus. Par exemple, des matrices carrées peuvent avoir deux lignes et deux colonnes, et la dimension peut aller jusqu’à cinq. Les tableaux ne stockent que des valeurs d'un même type de données. Les données peuvent être multidimensionnelles, avec des lignes, des colonnes et des dimensions de longueurs données.
Création d’un tableau
La fonction array() crée un tableau à partir d’un vecteur (des nombres) et d’un argument de dimension ("dim").
Voyons un exemple ci-dessous où deux vecteurs nommés "array1" et "array2" sont créés.
Vous pouvez utiliser les deux vecteurs ci-dessus comme entrée d’un tableau avec une dimension 4 * 4 ; deux matrices (données bidimensionnelles) sont alors créées.
La sortie du code ci-dessus est la suivante :
Renommons maintenant notre tableau en "Arr1" et "Arr2" en utilisant "matrix.names". De plus, les noms de lignes deviennent ("row1","row2") et les noms de colonnes ("column1","column2","column3"). La matrice a 2 lignes et 3 colonnes.
Voici la sortie du code ci-dessus : il y a deux lignes et trois colonnes. Notez aussi que les valeurs d’une colonne se répètent une fois épuisées :
Indexer un tableau
Un tableau contient des éléments organisés de manière multidimensionnelle, et chaque élément peut être accédé pour effectuer des opérations. Les éléments se récupèrent avec les crochets '[]'. Pour un tableau de type matrice avec lignes et colonnes, l’indexation se fait ainsi :
mat[row, column]Prenons l’exemple ci-dessous : le tableau contient les valeurs de 1 à 9. Il y a trois lignes et trois colonnes, couvrant les valeurs de 1 à 9. 'c.names' définit les nouveaux noms de colonnes via le vecteur ('c1', 'c2', 'c3') et 'r.names' les nouveaux noms de lignes ('r1', 'r2', 'r3').
La sortie du code ci-dessus est :
Vous voyez que les valeurs de 1 à 9 sont disposées en matrice 3 × 3 (lignes × colonnes), avec des noms de lignes et de colonnes personnalisés.
Voyons maintenant comment extraire des éléments du tableau avec les exemples suivants.
7
La sortie est 7. Dans 'arr[1,3,1]', on sélectionne la ligne 1, la colonne 3, et le 1 indique la première tranche du tableau 'arr'.
1
La sortie du code ci-dessus est 1.
Le code ci-dessus produit la sortie suivante : on extrait 2 lignes, 2 colonnes de la première tranche de 'arr'.
Le code ci-dessus affiche tous les éléments :
La sortie ci-dessous affiche également c1, c2, c3.
La sortie ci-dessous affiche également r1, r2, r3.
Création et addition de matrices
Créons deux matrices nommées mat1 et mat2 à partir de 'arr[ , ,1]' : toutes les lignes et colonnes de 'arr' sont copiées.
Additionnez les deux matrices 'mat1' et 'mat2' et stockez le résultat dans final. On affiche également la sortie.
La sortie ci-dessous montre que les éléments de mat1 et mat2 sont additionnés élément par élément.
apply()
'apply()' fait partie des packages R et regroupe plusieurs fonctions qui facilitent et optimisent l’écriture de code. Voyez ci-dessous un exemple d’utilisation pour calculer des sommes sur deux tableaux.
La syntaxe de apply() est :
apply(x, margin, function)Les arguments signifient :
x : un tableau (array) ou des données bidimensionnelles (matrices).
margin : la marge d’application de la fonction : c(1) pour les lignes, c(2) pour les colonnes, c(1,2) pour lignes et colonnes.
function : la fonction R (native ou définie par l’utilisateur) à appliquer aux données.
Créons un vecteur 'array1' de longueur trois et 'array2' de longueur six avec le code suivant.
Ci-dessous, 'array()' accepte deux vecteurs 'array1' et 'array2' pour créer un objet de dimension 3 lignes, 3 colonnes et 2 matrices, stocké dans 'my.Array'.
Le code ci-dessus produit la sortie suivante : deux matrices de dimension 3 × 3 (lignes × colonnes) sont créées.
Nous utilisons 'apply()' ci-dessous pour calculer la somme des deux matrices par colonnes.
Ici, la marge c(2) indique une agrégation par colonnes : les éléments de 'my.Array' sont additionnés colonne par colonne pour obtenir la sortie ci-dessous.
Enfin, 'apply()' est utilisé ci-dessous pour calculer la somme par lignes.
Avec la marge c(1), les éléments de 'my.Array' sont additionnés ligne par ligne, pour donner la sortie suivante.
Félicitations
Félicitations, vous êtes arrivé au bout de ce tutoriel !
Vous avez découvert les tableaux en R, leur création et leur indexation, ainsi que la création et l’addition de matrices et l’utilisation de la fonction apply().
Pour aller plus loin avec R, suivez le cours Introduction to R de DataCamp.
Références :
R-Arrays
R Array Function and Create Array in R