Vous êtes sur la page 1sur 53

Initiation au langage R

Partie 2

Pr Aicha MAJDA
Département ETAP
FSJES – UMI
2023 - 2024
Plan

Opérateurs
Fonctions prédéfinies
Structures de contrôle
Structures répétitives
Opérateurs
 Les opérateurs arithmétiques sont utilisés avec des valeurs numériques pour
effectuer des opérations mathématiques

Les opérateurs de puissance ^ et les operateurs d’assignation sont évalués de droite à


gauche ; tous les autres de gauche à droite. Ainsi, 2^2^3 est 2^8, et non 4^3, alors que 1 -
1 - 1 vaut -1, et non 1.
Opérateurs
 Exemple : soit deux vecteurs c(1, 2, 3) et c(4, 5, 6)

 Attention : Cas de deux vecteurs de longueur différente : La longueur


du vecteur le plus long doit être multiple de la longueur du vecteur le
plus petit
Opérateurs
 Exemple : soit deux vecteurs c(1, 2, 3) et c(4, 5)

 Deux vecteurs dont la taille du plus grand est % à celle du plus petit c(1,2,3) et
c(4,5,6,7,8,9)
Opérateurs
 Exemple : Cas des données qui se répètent : 1:9 + 20

En R, rep() est une fonction qui réplique


des valeurs numériques, ou du texte, ou
les valeurs d'un vecteur pour un nombre
de fois spécifique.

 Cas de +ieurs vecteurs :

T(1er)=10, T(2ème )= 5, T(3ème )= 2


Opérateurs
 Les opérateurs de comparaison sont utilisés pour comparer deux valeurs :
Opérateurs
 Les opérateurs logiques sont utilisés pour combiner des instructions conditionnelles :
Opérateurs
 Autres opérateurs sont utilisés pour manipuler les données
Les fonctions prédéfinies
 Le logiciel R offre plusieurs fonctions prédéfinies stockées dans des packages.
• Une fonction peut avoir des arguments, exemple rep(2, 10)
• L’ordre des arguments établi est important
• Il est donc important de les nommer s'ils ne sont pas appelés dans l'ordre.

• Certains arguments peuvent avoir une valeur par défaut qui sera utilisée si l'argument n'est pas
spécifié dans l'appel de la fonction.

rep(x, times = 1, length.out = NA, each = 1)


Les fonctions prédéfinies
 Exemple : La fonction matrix()

matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE, dimnames = NULL)

 La fonction compte cinq arguments : data, nrow, ncol, byrow et dimnames.


 La fonction a par défaut une valeur pour chaque argument (Pas le cas pour toutes les
fonctions ).
 Ainsi, un appel à matrix sans argument :
Les fonctions prédéfinies
 Exemple : La fonction matrix()

matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE, dimnames = NULL)

 Et un appel à matrix avec arguments :


Les fonctions prédéfinies
 Les fonctions de base les plus souvent utilisées pour programmer en R et pour
manipuler des données.

https://www.rdocumentation.org/packages/base/versions/3.6.2/topics/seq
Les fonctions prédéfinies
 Les fonctions de base les plus souvent utilisées pour programmer en R et pour
manipuler des données.
Les fonctions prédéfinies
 Les fonctions de base les plus souvent utilisées pour programmer en R et pour
manipuler des données.
Les fonctions prédéfinies
 Recherche d'éléments dans un vecteur :
Les fonctions prédéfinies
 Recherche d'éléments dans un vecteur :
Les fonctions prédéfinies
 L’arrondi des données numériques dans un vecteur
Les fonctions prédéfinies
 L’arrondi des données numériques dans un vecteur
Les fonctions prédéfinies
 Les fonctions statistiques
Les fonctions prédéfinies
 Les fonctions statistiques
Les fonctions prédéfinies
 Les fonctions statistiques
Les fonctions prédéfinies
 Les fonctions cumulatives
Les fonctions prédéfinies
 Les fonctions de comparaison élément par élément
Les fonctions prédéfinies
 Les fonctions pour les matrices
Les fonctions prédéfinies
 Les fonctions pour les matrices
Les fonctions prédéfinies
 Les fonctions pour les matrices
Les fonctions prédéfinies
Exercice :

Sur R-studio, simuler un échantillon x=(x1,x2,x3,… ,x20) avec la


fonction sample.
Écrire le code R permettant d'obtenir ou de calculer chacun des
résultats demandés ci-dessous.

1. Les cinq premiers éléments de l'échantillon.


2. La valeur maximale de l'échantillon.
3. La moyenne des cinq premiers éléments de l'échantillon.
4. La moyenne des cinq derniers éléments de l'échantillon.
Les structures de contrôle
 Supposons que je veux comparer a et b et afficher si b est plus petit ou plus grand !

 Les structures de contrôle sont des commandes qui permettent de déterminer Quel bloc du
programme sera exécuté d'exécution d'un programme : choix entre des blocs de code.
 On distingue deux types :
 les structures alternatives : if - else
 Les structures de choix multiple : swith()
Les structures de contrôle
 les structures alternatives : if – else

if (condition) bloc1 else bloc2

 Si condition est vraie, bloc1 est exécutée, sinon ce sera bloc2.


 Pour éviter les erreurs chaque bloc doit être mis entre des accolades { } :
Les structures de contrôle
 les structures alternatives : if – else
 Pour un bloc de plusieurs instructions :
Les structures de contrôle
 les structures alternatives : if – else
 Cas de structures if – else imbriquées:
Les structures de contrôle
 La fonction ifelse() pour les vecteurs en R
 C’est une forme vectorielle équivalente à l’instruction if…else, qui prend des vecteurs en
entrée et génèrent un vecteur à la sortie.
 Plus rapide que l’instruction if…else utilisée pour chaque élément du vecteur :
Les structures de contrôle
 La fonction switch()dans R teste une expression par rapport aux éléments d'une liste.
 Si la valeur évaluée à partir de l'expression correspond à un élément de la liste, la valeur
correspondante est renvoyée.

switch (expression, list)


 Exemple :

 Cette fonction est rarement utilisée en R.


Les structures de contrôle
Exercice
Ecrire un programme R qui demande à l’utilisateur le rayon d’une sphère, puis teste ce rayon: si
sa valeur est négative le programme affiche « La valeur du rayon est invalide », sinon il affiche son
volume donné par la formule V = 4/3πr³.
Les structures répétitives
 Ce sont des boucles qui répètent l’exécution d’un bloc de code tant qu'une condition spécifiée
n’est pas encore atteinte.
 En R on a deux commandes de boucle :
 boucles while
 Boucles for
Les structures répétitives

 La boucle while : Tant que la condition entre ( ) est VRAIE le code du blloc entre { }
sera exécuté :

i <- 1
while (i < 6) {
print(paste ("c'est le tour", i))
i <- i + 1
}

 Tester votre machine sans incrémenter i (i <- i + 1 ), que peut on déduire ?


 Essayer d’afficher le résultat sans appel à print(), que peut on déduire ?
Les structures répétitives

 La boucle for : Une boucle for est utilisée pour parcourir une
séquence :
Les structures répétitives

 l'instruction break : Elle permet d’arrêter la boucle même si la


condition d’arrêt est False :

 Tester ce script, quel sera le résultat si on inverse l’ordre des deux


instructions print(…) et if(…)… ?
Les structures répétitives

 l'instruction next : On peut sauter une itération sans terminer la


boucle :
Les structures répétitives

Exercice
 Ecrire un programme qui permet d’afficher la somme et le produit des 20 premiers
entiers de deux manières différentes :
1. En utilisant les boucles
2. En utilisant les fonctions prédéfinies.
Les fonctions en R
 On définit une nouvelle fonction avec la syntaxe suivante :

fun_name <- function(par1, par2, par3,... ){


function_body
}

• fun_name : est le nom de la fonction (même règles pour les noms de


fonctions que les objets) ;
• par1, par2, par3,... les paramètres de la fonction, séparés par des
virgules simlpes
• function_body constitue le corps de la fonction, soit une instruction
ou un groupe d’instructions réunies par des accolades.
• L’appel de la fonction fun_name (arg1, arg2, arg3,... )
Les fonctions en R

 Application
Ecrire une fonction, sans paramètres, qui permet d’afficher : Bonjour tout le monde
La définition

hello <- function( ) {


print("Bonjour tout le monde")}

L’appel
hello()

Ecrire une fonction, sans paramètres, qui permet d’afficher : ‫صباح الخير جميعا‬
Les fonctions en R

 Application
Ecrire une fonction avec des paramètres nom et année de naissance qui
permet d’afficher une information sur la personne ‘nom’
Exemple pour Alami Meriem née en 1999, elle affichera
Bonjour Alami Meriem, vous avez 24 ans
Les fonctions en R
 Par défaut, une fonction doit être appelée avec le bon nombre
d'arguments.
 Si la fonction est definit avec 2 paramètres 2, on doit l’appeler avec 2
arguments, ni plus, ni moins :

fun_name <- function(par1, par2){ function_body }

fun_name(arg1, arg2)

 Cas des paramètres définits par défaut, xemple :

fun_name <- function(par1, par2=2){ function_body }

fun_name(arg1)
Les fonctions en R
 On définit une fonction avec valeur de retour par la syntaxe suivante :

fun_name <- function(par1, par2, par3,... ){


function_body
return value
}

 Value est aussi la valeur de la fonction

 L’appel de la fonction V<-fun_name (arg1, arg2, arg3,... )


Les fonctions en R
 Application
Une fonction à un seul paramètre, définit par f(x)=5*x

fct <- function(x) {


return (5 * x)
}

L’appel de la fonction

V <- fct (2)


Les fonctions en R
 Application
Ecrire le script d’une fonction à un seul paramètre, définit par
my_tan(x)=sin(x)/cos(x)
Comparer my_tan(x) avec tan(x) définit en R.
Les fonctions de la famille apply()

 R offre un ensemble de fonctions qui aident à appliquer une fonction (prédéfinie ou


définie par le programmeur) à une certaine ensemble de données, liste ou vecteur et
à retourner le résultat sous forme de liste ou de vecteur en fonction de la fonction que
nous utilisons.
 Il existe 4 types de fonctions : apply(), lapply(), sapply(), et tapply()

https://www.geeksforgeeks.org/apply-lapply-sapply-and-tapply-in-r/
La fonctions sapply()

 Elle applique une fonction sur des objets de liste et renvoie un objet de liste de même
longueur.

Syntaxe : sapply( x, fun )


Paramètres :
x vecteur d’entrée o objet
fun la function à appliquer
La fonctions sapply()

Les données La fonction


La fonctions sapply()
Les fonctions en R

Exercice :
1. Ecrire une fonction qui affiche le prix ttc d’un article dont le prix ht est
variable. La tva est fixée à 5%.
 En utilisant cette fonction, afficher le prix ttc sachant que ht = 1000 dh
2. Réécrire la même fonction mais avec une valeur de retour.
3. Réécrire la même fonction mais avec tva variable.
4. Soit vec=(1000, 2000,3000,4000) un vecteur des prix hors taxe. On veut
calculer pour chaque élément du vecteur le prix ttc en utilisant la
fonction définit ci-dessus.
 Avec la boucle for
 Avec les operateurs sur des vecteurs
 Avec la fonction sapply ()

Vous aimerez peut-être aussi