Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

Comment écrire une instruction If Else imbriquée dans R (avec exemples)



La fonction ifelse() en base R peut être utilisée pour écrire des instructions if-else rapides. Cette fonction utilise la syntaxe suivante :

ifelse(tester, oui, non)

où:

  • test : un test logique
  • yes : La valeur à retourner si le test logique est True
  • no : La valeur à retourner si le test logique est Faux

Ce didacticiel explique comment utiliser cette fonction pour écrire des instructions if else ainsi que des instructions if else imbriquées dans R, en utilisant le bloc de données suivant :

#create data frame
df <- data.frame(team = c('A', 'A', 'B', 'B', 'B', 'C', 'D'),
                 points = c(4, 7, 8, 8, 8, 9, 12),
                 rebounds = c(3, 3, 4, 4, 6, 7, 7))

#view data frame
df

  team points rebounds
1    A      4        3
2    A      7        3
3    B      8        4
4    B      8        4
5    B      8        6
6    C      9        7
7    D     12        7

Exemple 1 : Comment écrire une instruction de base If Else

Le code suivant montre comment créer une nouvelle colonne dans le bloc de données dont la valeur est basée sur la valeur de la colonne « équipe » :

#create new column in data frame
df$rating <- ifelse(df$team == 'A', 'great', 'bad')

#view data frame
df

  team points rebounds rating
1    A      4        3  great
2    A      7        3  great
3    B      8        4    bad
4    B      8        4    bad
5    B      8        6    bad
6    C      9        7    bad
7    D     12        7    bad

Cette simple instruction ifelse indique à R de faire ce qui suit :

  • Si la valeur dans la colonne de l’équipe est « A », attribuez au joueur la note « excellent ».
  • Sinon, attribuez au joueur la note « mauvais ».

Exemple 2 : Comment écrire une instruction If Else imbriquée

Le code suivant montre comment créer une nouvelle colonne dans le bloc de données en écrivant une instruction if else imbriquée :

#create new column in data frame
df$rating <- ifelse(df$team == 'A', 'great',
               ifelse(df$team == 'B', 'OK', 'bad'))

#view data frame
df

  team points rebounds rating
1    A      4        3  great
2    A      7        3  great
3    B      8        4     OK
4    B      8        4     OK
5    B      8        6     OK
6    C      9        7    bad
7    D     12        7    bad

Cette instruction ifelse imbriquée indique à R de faire ce qui suit :

  • Si la valeur dans la colonne de l’équipe est « A », attribuez au joueur la note « excellent ».
  • Sinon, si la valeur dans la colonne d’équipe est « B », attribuez au joueur la note « OK ».
  • Sinon, attribuez au joueur la note « mauvais ».

Exemple 3 : Comment écrire des instructions If Else imbriquées plus longues

Le code suivant montre comment créer une nouvelle colonne dans le bloc de données en écrivant une instruction if else imbriquée encore plus longue :

#create new column in data frame
df$rating <- ifelse(df$team == 'A', 'great',
               ifelse(df$team == 'B', 'OK',
                 ifelse(df$team == 'C', 'decent', 'bad')))

#view data frame
df

  team points rebounds rating
1    A      4        3  great
2    A      7        3  great
3    B      8        4     OK
4    B      8        4     OK
5    B      8        6     OK
6    C      9        7 decent
7    D     12        7    bad

Cette instruction ifelse imbriquée indique à R de faire ce qui suit :

  • Si la valeur dans la colonne d’équipe est « A », attribuez au joueur la note « excellent ».
  • Sinon, si la valeur dans la colonne d’équipe est « B », attribuez au joueur la note « OK ».
  • Sinon, si la valeur dans la colonne d’équipe est « C », attribuez au joueur une note « décent ».
  • Sinon, attribuez au joueur la note « mauvais ».

Notez que vous pouvez utiliser ce modèle exact pour écrire des instructions ifelse imbriquées aussi longtemps que vous le souhaitez.

Vous pouvez trouver plus de didacticiels R ici .

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *