Accéder au contenu principal

Fonction IF ELSE en R

Découvrez en détail la fonction ifelse() : sa syntaxe, comment déterminer si un nombre est pair ou impair, et un exemple pour savoir si un·e étudiant·e a réussi ou échoué à un examen.
Actualisé 19 sept. 2026  · 4 min lire

Explorer avec l’IA

ChatGPTClaudePerplexity
bannière

La fonction "ifelse()" est l'alternative condensée à l'instruction if-else en R. Elle est de plus vectorisée, ce qui rend son exécution plus rapide : tous les éléments du vecteur sont traités en une seule fois, plutôt que valeur par valeur.

Syntaxe

La syntaxe de la fonction "ifelse()" en R est la suivante :
ifelse(expression_logique, a, b)

Les arguments de "ifelse" signifient :
1. expression_logique : un vecteur logique en entrée, qui renverra en sortie un vecteur de même taille.
2. a : valeur retournée lorsque expression_logique est TRUE.
3. b : valeur retournée lorsque expression_logique est FALSE.

Exemple (pair ou impair)

Voyons rapidement un exemple où le code ci-dessous vérifie si des nombres sont impairs ou pairs. "v" est un vecteur contenant une liste de nombres. Dans la fonction "ifelse", l'expression "v%%2==1" vérifie si le reste de chaque nombre de "v" vaut un, et si c'est TRUE affiche "odd", sinon (FALSE) affiche "even".

v = c(14,7,6,9,2)
ifelse(v %% 2 == 1,"odd","even")
  1. 'even'
  2. 'odd'
  3. 'even'
  4. 'odd'
  5. 'even'

Le code ci-dessus produit la sortie :
'even' 'odd' 'even' 'odd' 'even'
En interne, il génère un vecteur logique c(FALSE, TRUE, FALSE, TRUE, FALSE). Le premier paramètre formera un vecteur de chaînes c("odd","odd","odd","odd","odd"), tandis que le second produira c("even","even","even","even","even"). Enfin, chaque élément dont la condition est TRUE est remplacé par 'odd', et chaque FALSE par 'even'.

Exemple (réussite ou échec)

L'exemple ci-dessous illustre l'utilisation de "ifelse()" avec un DataFrame. Si un·e étudiant·e obtient plus de 40 points, il/elle est considéré·e comme "Pass", sinon "Fail" à l'examen.

Créons rapidement un Data Frame où la colonne "Student" contient les prénoms ("Ron", "Jake", "Ava", "Sophia", "Mia"). Une autre colonne, "Marks", contient les notes (35, 75, 45, 30, 85). Enfin, les deux colonnes sont combinées pour former un data frame stocké dans "x".

x <- data.frame("Student" = c("Ron","Jake","Ava","Sophia","Mia"),"Marks" = c(35,75,45,30,85))
str(x)
'data.frame':    5 obs. of  2 variables:
 $ Student: Factor w/ 5 levels "Ava","Jake","Mia",..: 4 2 1 5 3
 $ Marks  : num  35 75 45 30 85
'data.frame':    5 obs. of  2 variables:
 $ Student: Factor w/ 5 levels "Ava","Jake","Mia",..: 4 2 1 5 3
 $ Marks  : num  35 75 45 30 85

Le code ci-dessus affiche la structure du Data Frame via "str(x)" : 5 observations et 2 variables, avec les valeurs correspondantes pour Student et Marks.

x$Result = ifelse(x$"Marks">40,"Pass","Fail")
print(x)

La sortie est la suivante :

    Student Marks Result
1    Ron    35   Fail
2   Jake    75   Pass
3    Ava    45   Pass
4 Sophia    30   Fail
5    Mia    85   Pass 

Dans le code ci-dessus, la variable 'x$Result' sert à ajouter une nouvelle colonne "Result" au Data Frame. La fonction "ifelse()" évalue l'expression 'x$"Marks">40' : elle parcourt les valeurs de Marks et fixe "Result" à "Pass" lorsque la note est supérieure à 40, sinon à "Fail".

Félicitations

Félicitations, vous êtes arrivé·e au bout de ce tutoriel !

Vous avez découvert la fonction ifelse() de R, sa syntaxe, comment déterminer si un nombre est pair ou impair, et enfin un exemple pour indiquer si un·e étudiant·e a réussi ou échoué à un examen.

Pour aller plus loin avec R, retrouvez toutes nos ressources R ici.

Consultez aussi notre tutoriel Utiliser des fonctions en R.

Sujets
R
Science des données

Cours R

Cours

Introduction à R

4 h
3.1M
Maîtrisez les bases de l’analyse de données en R et pratiquez les vecteurs, listes et data frames avec des données réelles.
Afficher les détailsRight Arrow
Commencer Le Cours
Voir plusRight Arrow