0% ont trouvé ce document utile (0 vote)
6 vues8 pages

Introduction à R : Types et Opérations

Ce document présente une série d'exercices pratiques pour apprendre à utiliser le langage de programmation R. Les exercices couvrent divers concepts tels que les types de données, la manipulation de vecteurs, les opérations logiques, les boucles, et la création de fonctions. Chaque exercice est accompagné de questions pour renforcer la compréhension des concepts abordés.

Transféré par

ndzienkojeannevanessa
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
6 vues8 pages

Introduction à R : Types et Opérations

Ce document présente une série d'exercices pratiques pour apprendre à utiliser le langage de programmation R. Les exercices couvrent divers concepts tels que les types de données, la manipulation de vecteurs, les opérations logiques, les boucles, et la création de fonctions. Chaque exercice est accompagné de questions pour renforcer la compréhension des concepts abordés.

Transféré par

ndzienkojeannevanessa
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Séance n°2 : Introduction à R

Exercice 1 : Identi er les types de données


Crée les variables suivantes et affiche leur type avec `class()`:
- Un entier : `a = 5`
- Un nombre à virgule flottante : `b = 3.14`
- Une chaîne de caractères : `c = "R est génial"`
- Un vecteur logique : `d = c(TRUE, FALSE, TRUE)`

Questions :
- Quel est le type de chaque variable ?
- Est-ce que toutes les variables sont compatibles entre elles (par exemple,
additionner un entier avec un flottant) ?

Exercice 2 : Conversion de types


Crée une variable contenant une chaîne de caractères et une autre contenant un
nombre. Convertis la chaîne en nombre et le nombre en chaîne et affiche les
résultats.

Questions :
- Quelle fonction permet de convertir une chaîne en nombre (`[Link]()`) ?
- Quelle fonction permet de convertir un nombre en chaîne (`[Link]()`) ?

Exercice 3 : Manipulation des types logiques


Crée deux variables logiques `a = TRUE` et `b = FALSE`. Effectue les opérations
suivantes :
- `a & b`
- `a | b`
- `!a`

Questions :
- Explique ce que chaque opération retourne.
- Quelles sont les différences entre `&` et `|` ?

Exercice 4 : Calculs simples


Effectue les calculs suivants :
- Addition de 10 et 5
- Soustraction de 20 et 8
IGEA 2 2024/2025 1/8
fi
- Multiplication de 6 et 7
- Division de 25 par 5
- Puissance de 2 élevé à 3
- 10 modulo 3
- Division entière de 30 par 7

Questions :
- Quel opérateur correspond à chaque opération ?
- Quelle est l'importance des parenthèses dans les calculs ?

Exercice 5 : Opérations avec vecteurs


Crée deux vecteurs `a = c(2, 4, 6)` et `b = c(1, 2, 3)`. Effectue les opérations
suivantes :
- Addition des deux vecteurs
- Multiplication des deux vecteurs
- Diviser chaque élément du premier vecteur par le deuxième

Questions :
- Que se passe-t-il si les vecteurs ont des longueurs différentes ?
- Quelle opération n’est pas possible ?

Exercice 5 : Opérations avec NaN et Inf


Crée un vecteur `x = c(10, NaN, 5, Inf, -Inf)` et effectue les opérations suivantes :
- Addition de `x` avec un scalaire (par exemple, `x + 2`)
- Multiplication de `x` avec un scalaire
- Vérifier où se trouvent les valeurs `NaN` ou `Inf`

Questions :
- Quel est l'impact de NaN et Inf dans les calculs ?
- Comment gérer ces valeurs dans un vecteur avec `[Link]()` et `[Link]()` ?

Exercice 6 : Générer une séquence


Utilise la fonction `seq()` pour créer une séquence de 1 à 10 avec un pas de 2.

Questions :
- Quelle est la syntaxe de `seq()` ?
- Que se passe-t-il si on change le pas ?

IGEA 2 2024/2025 2/8


Exercice 7 : Séquence décroissante
Crée une séquence de 10 à 1 avec un pas de -1.

Questions :
- Quel type de séquence est créé par défaut (degré croissant ou décroissant) ?
- Comment inverser cette direction ?

Exercice 8 : Séquence avec nombre d'éléments spéci é


Crée une séquence de 1 à 10 mais avec exactement 5 éléments.

Questions :
- Quelle syntaxe utiliser pour spécifier le nombre d'éléments ?
- Est-ce que la fonction `seq()` gère correctement les arrondis dans ce cas ?

Exercice 9 : Création d'un vecteur de 1 à 5


Crée un vecteur contenant les entiers de 1 à 5 en utilisant l'opérateur `:`.

Questions :
- Quelle est la forme générale de l'opérateur `:` en R ?
- Comment `:` fonctionne-t-il si on veut créer une séquence décroissante ?

Exercice 10 : Séquence négative


Crée une séquence de 5 à 1 en utilisant `:`.

Questions :
- L'opérateur `:` peut-il créer des séquences décroissantes ?
- Quelle est la différence entre `1:5` et `5:1` ?

Exercice 11 : Séquence avec étapes


Crée un vecteur de -3 à 3 avec un pas de 0.5.

Questions :
- Pourquoi l’opérateur `:` ne fonctionne-t-il pas avec un pas fractionnaire ?
- Quelle fonction devrais-tu utiliser pour obtenir cette séquence (hint: `seq()`
encore) ?

Exercice 10 : Répétition simple


IGEA 2 2024/2025 3/8
fi
Utilise la fonction `rep()` pour répéter le nombre 5, trois fois.

Questions :
- Quelle est la syntaxe de base de la fonction `rep()` ?
- Comment répéter une séquence entière plutôt qu’un seul élément ?

Exercice 11 : Répétition avec un nombre d’éléments


Crée un vecteur qui répète la séquence `c(1, 2)` cinq fois.

Questions :
- Comment spécifier le nombre de répétitions ?
- Que se passe-t-il si on utilise un nombre plus grand que la longueur de la
séquence ?

Exercice 12 : Répétition en alternance


Crée un vecteur qui répète alternativement les valeurs `1` et `0`, cinq fois (soit une
séquence de 10 éléments).

Questions :
- Comment faire des répétitions alternées ?
- Quelle est l’importance de l’argument `each` ?

Voici des exercices supplémentaires axés sur l'indexation de vecteurs et l'utilisation


de la fonction `which()` en R, pour renforcer la compréhension de ces concepts
fondamentaux.

Exercice 13 : Accéder à des éléments d’un vecteur


Crée un vecteur `v = c(3, 7, 2, 9, 5)` et effectue les opérations suivantes :
- Accéder au deuxième élément du vecteur.
- Accéder aux éléments d'index 1 à 3.
- Accéder aux éléments d'index 3, 4 et 5.

Questions :
- Quelle syntaxe utilise-t-on pour accéder aux éléments par index ?
- Que se passe-t-il si on essaie d’accéder à un indice qui dépasse la taille du
vecteur ?

Exercice 14 : Modi cation d’éléments d’un vecteur


IGEA 2 2024/2025 4/8
fi
Crée un vecteur `v = c(10, 20, 30, 40, 50)` et effectue les opérations suivantes :
- Modifie le deuxième élément pour qu’il soit égal à 25.
- Remplace les éléments d'index 3 à 5 par `100`.
- Met à zéro tous les éléments impairs du vecteur (en utilisant une condition).

Questions :
- Comment peut-on modifier des éléments spécifiques d'un vecteur ?
- Quelles erreurs possibles pourraient survenir lors de la modification d’indices
inexistants ?

Exercice 15 : Indexation logique


Crée un vecteur `v = c(3, 5, 2, 8, 6)` et utilise l'indexation logique pour :
- Extraire tous les éléments supérieurs à 4.
- Extraire tous les éléments inférieurs ou égaux à 5.
- Extraire tous les éléments pairs du vecteur.

Questions :
- Comment utiliser des conditions logiques pour filtrer un vecteur ?
- Quelles sont les différences entre l'indexation logique et l'indexation par position
?

Exercice 16 : Trouver les indices d’un élément


Crée un vecteur `v = c(10, 20, 30, 20, 50)` et utilise `which()` pour :
- Trouver l’indice de la première occurrence de 20.
- Trouver les indices de toutes les occurrences de 20 dans le vecteur.

Questions :
- Quelle est la syntaxe de `which()` pour trouver un ou plusieurs indices ?
- Que se passe-t-il si l’élément n’existe pas dans le vecteur ?

Exercice 17 : Identi er les indices d’éléments satisfaisant une condition


Crée un vecteur `v = c(1, 5, 10, 7, 3, 8)` et utilise `which()` pour :
- Trouver les indices des éléments supérieurs à 6.
- Trouver les indices des éléments pairs.

Questions :
- Comment utiliser `which()` avec une condition logique ?
- Que fait `which()` lorsqu'il n'y a pas d'éléments qui satisfont la condition ?
IGEA 2 2024/2025 5/8
fi
Exercice 18 : Utilisation avancée de `which()`
Crée un vecteur `v = c(7, 2, 8, 3, 5, 9, 4)` et effectue les opérations suivantes :
- Trouve les indices des éléments supérieurs à 5 et inférieurs à 9.
- Trouve les indices des éléments égaux à 4 ou supérieurs à 6.

Questions :
- Quelle est la différence entre utiliser une condition combinée dans `which()` et
effectuer plusieurs appels à `which()` ?
- Peut-on utiliser `which()` avec des vecteurs logiques complexes ou des opérateurs
multiples ?

Exercice 19 : If-else
Écris une fonction qui prend un nombre et retourne "Positif" si le nombre est
positif, "Négatif" si le nombre est négatif, et "Zéro" si c’est zéro.

Questions :
- Quelle est la structure de base de `if-else` ?
- Comment gérer les multiples conditions ?

Exercice 20 : Nested if-else


Crée un programme qui vérifie si un nombre est divisible par 2 et 3, puis affiche un
message comme suit :
- "Divisible par 2 et 3"
- "Divisible seulement par 2"
- "Divisible seulement par 3"
- "Non divisible"

Questions :
- Comment imbriquer plusieurs conditions ?
- Que se passe-t-il si l’ordre des conditions est inversé ?

Exercice 21 : Switch
Utilise `switch()` pour retourner le jour de la semaine en fonction d’un entier (1 pour
Lundi, 2 pour Mardi, etc.).

Questions :
- Pourquoi utiliser `switch()` plutôt que des conditions `if-else` ?
IGEA 2 2024/2025 6/8
- Quand est-il préférable d'utiliser `switch()` ?

Exercice 22 : Boucle `for`


Crée une boucle `for` qui imprime les nombres de 1 à 10.

Questions :
- Quelle est la syntaxe d'une boucle `for` ?
- Comment accéder à chaque élément d'un vecteur ou d'une séquence ?

Exercice 23 : Boucle `while`


Crée une boucle `while` qui imprime les nombres de 1 à 10.

Questions :
- Quelle est la différence entre `for` et `while` ?
- Que se passe-t-il si la condition de la boucle `while` n’est jamais satisfaite ?

Exercice 24 : Boucle avec `next` et `break`


Crée une boucle qui imprime les nombres de 1 à 10, mais ignore le nombre 5 et
arrête la boucle si un nombre supérieur à 7 est rencontré.

Questions :
- Comment `next` et `break` sont utilisés dans les boucles ?
- Quelle est la différence entre ces deux instructions ?

Exercice 25 : Fonction simple


Crée une fonction `somme()` qui prend deux nombres en entrée et retourne leur
somme.

Questions :
- Quelle est la structure d'une fonction en R ?
- Pourquoi utiliser une fonction au lieu d’effectuer une opération directement dans
le script ?

Exercice 26 : Fonction avec plusieurs arguments


Crée une fonction `produit()` qui prend trois arguments et retourne leur produit.

Questions :
- Comment spécifier plusieurs arguments dans une fonction ?
IGEA 2 2024/2025 7/8
- Que se passe-t-il si un argument n'est pas fourni ?

Exercice 27 : Fonction avec valeur par défaut


Crée une fonction `greeting()` qui prend un nom et un message en entrée, avec un
message par défaut si aucun message n’est fourni.

Questions :
- Comment définir des valeurs par défaut pour les arguments ?
- Quel est

IGEA 2 2024/2025 8/8

Vous aimerez peut-être aussi