Comme dans presque tous les autres langages de pro­gram­ma­tion, les dé­ve­lop­peurs tra­vail­lant en pro­gram­ma­tion en R peuvent également en­re­gis­trer des éléments de même type de données dans la structure de données de type Array et bé­né­fi­cier de fonc­tion­na­li­tés utiles.

Pourquoi utilise-t-on des arrays en R ?

Souvent appelés tableaux en français, les arrays sont une structure de données standard, comme les chaînes de ca­rac­tères en R, qui aide prin­ci­pa­le­ment pour l’or­ga­ni­sa­tion des données et leur accès. Grâce à l’in­dexa­tion, les pro­gram­ma­teurs peuvent accéder ef­fi­ca­ce­ment aux données en­re­gis­trées dans un array.

Même des opé­ra­tions qui con­cer­nent la totalité de l’ensemble de données peuvent être exécutées ef­fi­ca­ce­ment et fa­ci­le­ment avec les arrays. Les arrays R avec plusieurs di­men­sions per­met­tent en outre de re­pré­sen­ter des données mul­ti­di­men­sion­nelles, par exemple en matrices ou tenseurs.

Creating arrays in R : procédure

Les pro­gram­ma­teurs peuvent créer des arrays en R ayant dif­fé­rentes di­men­sions. Que vous sou­hai­tiez re­pré­sen­ter un vecteur simple ou une structure mul­ti­di­men­sion­nelle complexe, tout est possible avec un array en R. Des arrays bi­di­men­sion­nels sont souvent utilisés, qui peuvent se présenter sous la forme d’un tableau ou d’une matrice.

Par exemple, un array bi­di­men­sion­nel simple contenant les chiffres de 1 à 6 peut être créé comme suit grâce à la fonction « array() » :

exempledarray <- array(1:6, dim = c(2, 3))
R

Dans cet exemple, vous attribuez deux pa­ra­mètres à la fonction « array() » : vous indiquez tout d’abord la plage de valeurs « 1:6 » que votre array en R contient. Le deuxième paramètre re­pré­sente les di­men­sions de l’array. Dans cet exemple, un array de 2x3 est créé.

Note

Veillez à ce qu’au sein d’un array en R, seuls des éléments du même type de données puissent être en­re­gis­trés. Si vous souhaitez en­re­gis­trer dif­fé­rents types de données dans une même structure de données, nous vous con­seil­lons de consulter le type de données R « list ».

Avec « array() », vous pouvez non seulement créer de nouveaux arrays, mais également convertir en arrays des vecteurs ou matrices existant déjà dans votre code. Pour ce faire, appelez sim­ple­ment la fonction avec l’élément que vous souhaitez classer dans un array et indiquez les di­men­sions sou­hai­tées :

# Conversion de vecteurs en arrays
vector <- 1:9
vector_als_array <- array(vector, dim = c(3,3))
# Conversion de matrices en arrays
matrix <- matrix(1:9, nrow = 3, ncol = 3)
matrix_als_array <- array(matrix, dim = dim(matrix))
R

In­dexa­tion : apprenez à accéder aux éléments des arrays

Vous pouvez accéder aux éléments de votre array grâce à l’in­dexa­tion. Les indices de l’élément souhaité, comme dans de nombreux autres langages de pro­gram­ma­tion, sont indiqués entre crochets. Pour les arrays mul­ti­di­men­sion­nels, vous pouvez également afficher une rangée ou une colonne complète en plus d’éléments spé­ci­fiques.

exempledarray <- array(1:6, dim = c(2, 3))
# Accès à l’élément dans la première ligne, deuxième colonne
element <- exempledarray[1, 2]
# Accès à la première ligne
ligne <- exempledarray[, 1]
# Accès à la première colonne
colonne <- exempledarray[1, ]
R
Note

Si vous utilisez déjà d’autres langages de pro­gram­ma­tion mais êtes encore débutant en pro­gram­ma­tion avec R, l’in­dexa­tion en R peut vous sembler sur­pre­nante. Con­trai­re­ment à de nombreux autres langages, le décompte ne débute pas à 0, mais commence à partir de 1, comme le comptage en langue naturelle.

Calculer avec des arrays

Avec les arrays, vous pouvez appliquer diverses fonctions ma­thé­ma­tiques à tout un volume de données. Par exemple, vous pouvez calculer la somme de deux arrays, ce que vous pouvez vous re­pré­sen­ter comme une addition de deux matrices. Pour ce faire, veillez à ce que les arrays aient les mêmes di­men­sions ou longueurs, que vous pouvez trouver grâce à la fonction R Array length.

array1 <- array(1:4, dim = c(2,2))
array2 <- array(5:8, dim = c(2,2))
résultat <- array1 + array2
R

Outre les opé­ra­tions arith­mé­tiques de base, dis­po­nibles comme opé­ra­teurs R, dif­fé­rentes fonctions sont également définies sur les arrays en R afin de vous aider à effectuer divers calculs. Par exemple, vous pouvez calculer la moyenne de tous les éléments d’un array avec la commande R « mean() » :

moyenne <- mean(array1)
R

Autre avantage, à l’aide de la fonction R-Array « apply(array, MARGIN, FUN) », vous pouvez appliquer diverses fonctions à une dimension de votre choix. La fonction possède dif­fé­rents pa­ra­mètres :

  • array : array faisant l’objet de l’examen
  • MARGIN : dimension pour laquelle la fonction doit être utilisée où 1 vaut pour les lignes et 2 pour les colonnes.
  • FUN : fonction vec­to­rielle qui restitue un résultat scalaire.

Voici un exemple d’uti­li­sa­tion de « apply() » :

# Créer un array
testarray <- array(1:6, dim = c(2,3))
# Application de apply()
moyenne_colonnes <- apply(array, MARGIN = 2, FUN = mean)
# Affichage du résultat
print(moyenne_colonnes)
R

L’affichage du code de pro­gram­ma­tion ci-dessus retourne trois valeurs indiquant chacune la valeur moyenne de la colonne : 1,5, 3,5 5,5.

Aller au menu principal