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.