Passer au contenu principal
eLearner.app
Module 1 · Leçon 1 sur 21/10 dans le cours~10 min
Leçons du module (1/2)

Variables et Vecteurs

R est un langage de programmation et un environnement logiciel spécialisé dans l'analyse statistique des données, la visualisation des données et l'apprentissage automatique (machine learning).

Contrairement à d'autres langages généralistes, R a été conçu par des statisticiens pour des statisticiens, ce qui rend les opérations de manipulation et d'agrégation de vecteurs et de matrices extrêmement intuitives.

Variables et Affectation

En R, la convention standard pour affecter une valeur à une variable consiste à utiliser l'opérateur flèche gauche <-, composé du caractère inférieur < suivi du tiret -.

Bien que l'opérateur = soit valide dans la plupart des contextes, la communauté R préfère <- pour distinguer clairement l'affectation de variables du passage d'arguments au sein des fonctions.

Code
# Assignons la valeur 42 à la variable age
age <- 42

# Nous pouvons imprimer la valeur en utilisant la fonction print()
print(age)

Les Vecteurs

La structure de données fondamentale en R est le vecteur (vector). Un vecteur est une collection ordonnée d'éléments du même type. En R, même un seul nombre (un scalaire) est techniquement traité comme un vecteur de longueur 1.

Pour créer un vecteur avec plusieurs éléments, on utilise la fonction de concaténation c() :

Code
# Créons un vecteur avec les quatre premiers nombres pairs
even_numbers <- c(2, 4, 6, 8)
print(even_numbers)

Opérations sur les Vecteurs

R prend en charge les opérations vectorisées. Lorsqu'on applique un opérateur arithmétique à un vecteur, R applique l'opération à chaque élément du vecteur individuellement (élément par élément) :

Code
prices <- c(10, 20, 30)

# Multiplie chaque prix par 2
doubled_prices <- prices * 2
# Le résultat sera c(20, 40, 60)

Si nous opérons sur deux vecteurs de même longueur, l'opération est effectuée terme à terme :

Code
v1 <- c(1, 2, 3)
v2 <- c(10, 20, 30)
v3 <- v1 + v2
# Le résultat sera c(11, 22, 33)

Séquences et Noms de Vecteurs

R fournit des outils puissants pour générer des séquences de nombres. En plus de l'opérateur : (ex. 1:10), nous pouvons utiliser la fonction seq() pour définir un incrément personnalisé :

Code
# Génère des nombres de 1 à 5 avec un incrément de 0.5
custom_seq <- seq(from = 1, to = 5, by = 0.5)

De plus, les éléments d'un vecteur peuvent avoir des noms associés qui facilitent leur identification, configurables via la fonction names() :

Code
temperatures <- c(22, 24)
names(temperatures) <- c("Mon", "Tue")

À vous de jouer

Exercice#r.m1.l1.e1
Tentatives : 0Chargement…

Assignez la valeur 10 à la variable x et la valeur 20 à la variable y en utilisant l'opérateur <-.

Chargement de l'éditeur…
Afficher l'indice

Écrivez : x <- 10 et sur la ligne suivante : y <- 20

Solution disponible après 3 tentatives

Exercice#r.m1.l1.e2
Tentatives : 0Chargement…

Créez un vecteur contenant les valeurs 5, 10, 15, 20 et assignez-le à la variable nommée numbers.

Chargement de l'éditeur…
Afficher l'indice

Utilisez la fonction c() comme ceci : numbers <- c(5, 10, 15, 20)

Solution disponible après 3 tentatives

Exercice#r.m1.l1.e3
Tentatives : 0Chargement…

Étant donné les vecteurs v1 et v2, calculez leur somme et assignez le résultat à la variable total.

Chargement de l'éditeur…
Afficher l'indice

Additionnez directement les deux vecteurs : total <- v1 + v2

Solution disponible après 3 tentatives

Exercice#r.m1.l1.e4
Tentatives : 0Chargement…

Créez une séquence de nombres de 1 à 10 avec un incrément de 2 en utilisant la fonction seq() et assignez-la à la variable my_seq.

Chargement de l'éditeur…
Afficher l'indice

Utilisez la fonction seq() : my_seq <- seq(from = 1, to = 10, by = 2)

Solution disponible après 3 tentatives

Exercice#r.m1.l1.e5
Tentatives : 0Chargement…

Étant donné le vecteur sales <- c(100, 150), assignez les noms 'Mon' et 'Tue' au vecteur en utilisant la fonction names().

Chargement de l'éditeur…
Afficher l'indice

Définissez names(sales) <- c('Mon', 'Tue')

Solution disponible après 3 tentatives