Les Vecteurs en R
Introduction aux Vecteurs
Les vecteurs sont des structures fondamentales en R qui permettent de stocker plusieurs valeurs du même type de données. Contrairement à de nombreux langages de programmation, les vecteurs en R commencent à l'index 1, plutôt qu'à 0, ce qui est une caractéristique à garder à l'esprit lors de leur utilisation.
Types de Vecteurs
Il existe principalement deux types de vecteurs en R : les vecteurs atomiques et les vecteurs récursifs.
Les vecteurs atomiques sont créés en utilisant la fonction c(), qui combine divers éléments d'un même type. Voici un exemple de création d'un vecteur atomique :
atomic_vector <- c(el_1, el_2, ..., el_N)
D'un autre côté, les vecteurs récursifs peuvent contenir des éléments de types de données variés, et ils sont créés avec la fonction list() :
recursive_vector <- list(el_1, el_2, ..., el_N)
Ainsi, nous pouvons créer divers types de vecteurs en fonction de nos besoins.
Exemples de Vecteurs Atomiques
Voici quelques exemples de vecteurs atomiques que l'on peut créer avec la fonction c() :
# Vecteur de caractères
noms <- c('Lucas', 'Emma', 'Julien')
# Vecteur d'entiers
notes <- c(88, 92, 75, 60, 100)
# Vecteur logique
boolean_values <- c(TRUE, FALSE, TRUE)
En plus de cela, pour générer une séquence de nombres, nous pouvons également utiliser l'opérateur deux-points :
:
# Ce vecteur contient tous les nombres de 1 à 10
nombres <- 1:10
nombres
# Résultat : [1] 1 2 3 4 5 6 7 8 9 10
Il faut également noter que les vecteurs de caractères peuvent contenir des valeurs alphanumériques et des caractères spéciaux :
alphanumeriques <- c('terre', 'ciel', 'mer', 45)
alphanumeriques
# Résultat : [1] "terre" "ciel" "mer" "45"
Accès aux Éléments des Vecteurs
Pour accéder aux éléments d'un vecteur, on utilise généralement l'opérateur de souscription [] en indiquant l'index :
nombres <- c(30, 45, 15, 60, 85)
nombres[2]
nombres[4]
La sortie serait la suivante :
# Résultat :
# [1] 45
# [1] 60
L'accès aux éléments peut également se faire par indexation logique :
# Accès aux éléments du vecteur par indexation logique
nombres <- c(5, 3, 8, 2, 7)
nombres[nombres < 5]
Ceci produira en sortie :
# [1] 3 2
Modification d'un Vecteur
Il est possible de modifier les éléments d'un vecteur en spécifiant l'index avec l'opérateur de souscription [] pour remplacer la valeur par une nouvelle :
nombres <- c(3, 9, 1, 6, 0)
cat("Vecteur original : ", nombres, "\n")
nombres[3] = 10
cat("Troisième élément modifié : ", nombres, "\n")
nombres[1] = 8
cat("Premier élément modifié : ", nombres)
Au début, le troisième élément du vecteur nombres
est mis à jour à 10. Ensuite, le premier élément est ajusté à 8. Le résultat final sera :
# Vecteur original : 3 9 1 6 0
# Troisième élément modifié : 3 9 10 6 0
# Premier élément modifié : 8 9 10 6 0
Recyclage des Vecteurs
Le recyclage des vecteurs est un mécanisme en R où deux vecteurs de longueurs différentes peuvent être manipulés ensemble, en répétant les éléments du vecteur le plus court pour égaler la longueur du vecteur le plus long.
Exemple :
Prenons deux cas de recyclage de vecteurs lors d'une addition, où les longueurs des deux vecteurs doivent être identiques :
# Cas 1 : Les longueurs de vecteurs sont égales
nombres_1 <- c(2, 4, 6, 8)
nombres_2 <- c(1, 3, 5, 7)
somme <- nombres_1 + nombres_2
somme
# Résultat : [1] 3 7 11 15
# Cas 2 : Les longueurs des vecteurs sont différentes
nombres_1 <- c(2, 4, 6, 8, 10)
nombres_2 <- c(1, 3)
somme <- nombres_1 + nombres_2
somme
# Résultat : [1] 3 7 9 11 13
Dans ce dernier exemple, les premiers éléments de nombres_1
sont additionnés aux deux premiers éléments de nombres_2
, et les éléments de nombres_2
sont recyclés jusqu’à ce qu'ils atteignent la longueur de nombres_1
.