Introduction à l'instruction If dans R

L'instruction «if» dans R est une instruction conditionnelle qui est utilisée pour tester une ou plusieurs conditions ou générer une sortie basée sur une condition. Une instruction if dans R peut être suivie de plusieurs ifs supplémentaires et enfin de l'instruction else. Cela fonctionne séquentiellement, comme si une condition est positive sur si elle-même, puis les ifs et l'instruction else suivants ne s'exécuteront pas. De même, si l'une des autres instructions if s'exécute, les instructions else if et l'instruction else suivantes ne s'exécuteront pas. Le else ne s'exécutera que si les ifs et ifs précédents (s'ils sont présents) sont négatifs sur la condition.

Syntaxe

La syntaxe de l'instruction if-else dans R est la suivante:

if (condition) (
statement_1 # This statement will execute if the condition is satisfied.
)
else (
statement_2 # This section will execute if the condition is not satisfied.
)

La syntaxe de l'instruction if-else if-else dans R est la suivante:

if (condition_1) (
statement_block_1 # This block will execute if condition 1 is met.
)
else if (condition_2) (
statement_block_2 # This block will execute if condition 2 is met.
)
else (
statement_block_3 # This block will execute if none of the conditions is met.
)

Représentation schématique

Voici le diagramme de flux mentionné ci-dessous

Exemples d'instructions If dans R

Comprendre l'instruction if dans R à travers des exemples

L'instruction if dans R peut être utilisée dans diverses situations et fonctionne avec différents types de données. Nous essaierons de l'implémenter afin de comprendre son fonctionnement, de la base à la plus complexe. Continuons à comprendre cela plus en détail.

Exemple 1

Dans cet exemple, nous allons vérifier si un nombre est divisible par 21 ou non. Nous allons créer une fonction qui teste cette condition de division à l'aide de l'instruction if-else. Ensuite, nous passerons le nombre à tester dans la fonction.

La capture d'écran suivante montre la fonction dans R qui intègre if-else pour valider un test de divisibilité pour un nombre.

divide.function <- function(x) (
if (x %% 21 == 0)
(
print(“The number is divisible by 21”)
)
else (
print(“The number is not divisible by 21”)
)
)

Dans le code ci-dessus, un nombre passé dans la fonction sera d'abord validé par rapport à une condition dans l'instruction if. Donc, si le nombre divisé 21 renvoie zéro comme reste, le code si bloc sera imprimé en tant que sortie sinon sinon s'exécutera.

Le passage de nombres différents dans la fonction ci-dessus donne les résultats suivants:

Exemple # 2

Dans le deuxième exemple, nous étendrons la boucle if-else à l'instruction if-else if-else. Ici, nous avons l'intention de vérifier si un nombre est divisible par 7 et 9, juste par 7 mais pas par 9, juste par 9 mais pas par 7, ou par aucun des deux nombres. Si une condition est satisfaite, le bloc de code correspondant s'exécutera. Il peut y avoir plusieurs instructions else-if. Comme mentionné précédemment, le bloc de code dans else s'exécute uniquement lorsqu'aucune condition n'est satisfaite. Les instructions de sortie dans les blocs correspondants doivent transmettre correctement la signification.

divide.function <- function(x) (
if (x %% 7 == 0 && x %% 9 == 0)
(
print("The number is divisible by both 7 and 9.")
)
else if (x %% 7 == 0) (
print("The number is divisible by 7 but not by 9.")
)
else if (x %% 9 == 0) (
print("The number is divisible by 9 but not by 7.")
)
else (
print("The number is divisible neither by 7 nor by 9.")
)
)

Le passage de nombres différents dans la fonction définie à l'aide du code ci-dessus génère une sortie comme indiqué dans la capture d'écran ci-dessous.

Passer des nombres différents dans la fonction définie par l'utilisateur divide.function () donne le résultat comme ci-dessus. Ici, quatre types de nombres sont possibles; premièrement ceux divisibles par 7 et 9 tels que 63 et 126, deuxièmement ceux divisibles par 7 mais pas par 9 tels que 14 et 35, troisièmement ceux divisibles par 9 mais pas par 7 tels que 18 et 36, et enfin ceux qui sont divisibles par aucun des deux entiers, c'est-à-dire 7 et 9. La condition finale fait partie de l'instruction else car, toutes les autres conditions possibles sont vérifiées, dans le if précédent et sinon if.

Exemple # 3

Dans cet exemple, nous vérifierons si un nombre est un nombre premier ou non. Tout nombre, qui n'est divisible que par lui-même et un, est appelé un nombre premier. Cependant, il faut noter que 1 n'est pas un nombre premier car il ne remplit pas la condition pour qu'un nombre soit premier, car, dans le cas de 1, les deux nombres c'est-à-dire lui-même et 1 sont les mêmes. De plus, que se passe-t-il si un utilisateur passe un nombre négatif dans la fonction pour vérifier s'il est premier ou non? Ainsi, toutes les conditions ci-dessus devront être prises en considération lors de la mise en œuvre de la fonction. Voyons à quoi ressemble la fonction lorsqu'elle est implémentée, comme illustré ci-dessous.

primecheck.function <- function(x) (
flag <- 1
if (x <= 0)
(
print("Number must be greater than zero.")
)
else if (x == 1)
(
print("1 is not a prime number.")
)
else
(
for (i in 3:x-1)
(
if (x %% i == 0)
(
flag <- 0
)
)
if (flag == 0)
(
paste(x, "is not a prime number.")
)
else
(
paste(x, "is a prime number.")
)
)
)

  • La capture d'écran ci-dessus montre la fonction définie par l'utilisateur primecheck.function () dans R. Comme on peut le voir, le code utilise un if-else imbriqué pour accomplir la tâche. Voyons comment fonctionne le code. La fonction primecheck.function () ne prend qu'un seul paramètre. Initialement, la variable indicateur est définie sur 1. Ensuite, la section if-else if-else commence. L'instruction if vérifie si le nombre est supérieur à zéro ou non. Il s'agit d'une condition très importante et doit être la première condition.
  • Sinon, le message approprié est généré par la fonction. Ensuite, le else-if vérifie si le nombre est égal à 1 et indique à l'utilisateur que 1 n'est pas un nombre premier; la raison a été donnée dans la section précédente. Si aucune des deux conditions ci-dessus n'est remplie, le bloc de code de la section else s'exécute. Dans le reste, maintenant, nous essayons essentiellement de vérifier si le nombre est premier ou non pour la boucle.
  • La boucle for divise le nombre de 2 en nombre moins la plage 1 par la variable d'incrémentation, et dans cette plage, si elle est divisée, l'indicateur est défini sur zéro, ce qui signifie que le nombre n'est pas un nombre premier. L'instruction if-else à l'extérieur de la boucle teste une condition sur l'indicateur et génère une sortie appropriée.

La fonction fonctionne et donne les résultats comme indiqué dans la capture d'écran ci-dessous.

Conclusion

En programmation R, l'instruction if-else ou if-else if-else peut être utilisée efficacement pour travailler avec les aspects liés aux conditions. Le script R peut ne pas faciliter l'implémentation des instructions if de la même manière que les autres langages de programmation. Cependant, if-else peut être magnifiquement intégré dans les fonctions pour obtenir tous les résultats possibles.

Articles recommandés

Ceci est un guide de l'instruction If dans R. Ici, nous discutons de l'instruction if-else ou if-else if-else qui peut être utilisée efficacement pour travailler avec les aspects liés à la condition. Vous pouvez également consulter les articles suivants pour en savoir plus -

  1. Qu'est-ce que le langage de programmation R?
  2. Forfaits R
  3. Types de données R
  4. Instruction If-else en C
  5. Déclaration IF-Else dans Matlab

Catégorie: