Les structures décisionnelles exigent que le programmeur spécifie une ou plusieurs conditions devant être évaluées ou testées par le programme, ainsi qu’une ou plusieurs instructions à exécuter si la condition est déterminée comme étant vraie et éventuellement d’autres instructions à exécuter si la condition est déterminé comme étant fausse.
Voici la forme générale d’une structure décisionnelle typique trouvée dans la plupart des langages de programmation.
R fournit les types de décisions suivants. Cliquez sur les liens suivants pour vérifier leur détail.
if
Une instruction if est constituée d’une expression booléenne suivie d’une ou plusieurs instructions.
La syntaxe de base pour créer une instruction if dans R est :
If (boolean_expression) {
// instruction (s) s’exécutera si l’expression booléenne est vraie.
}
Si l’expression booléenne s’avère vraie, le bloc de code à l’intérieur de l’instruction if sera exécuté. Si l’expression booléenne s’avère fausse, le premier ensemble de code après la fin de l’instruction if (après l’accolade fermante) sera exécuté.
x <- 30L
if(is.integer(x)) {
print(« X est un entier »)
}
if …else
Une instruction if peut être suivie d’une instruction optionnelle else qui s’exécute lorsque l’expression booléenne est false.
Syntaxe
La syntaxe de base pour créer une instruction if … else dans R est :
If (boolean_expression) {
// instruction (s) s’exécutera si l’expression booléenne est vraie.
} else {
// instruction (s) s’exécutera si l’expression booléenne est false.
}
Si l’expression booléenne est évaluée comme étant vraie, alors le bloc de code if sera exécuté, sinon le bloc de code sera exécuté.
x <- c(« Que », »faire », »demain »)
if(« demain » %in% x) {
print(« demain est présent »)
} else {
print(« demain n’est pas présent »)
}
L’instruction if … else if … else
Une instruction if peut être suivie d’une instruction if else , qui est très utile pour tester diverses conditions en utilisant l’instruction if else if.
Syntaxe
La syntaxe de base pour créer une instruction if … else if … else dans R est
If (boolean_expression 1) {
// Exécute lorsque l’expression booléenne 1 est vraie.
} Else if (expression_booléenne 2) {
// Exécute quand l’expression booléenne 2 est vraie.
} Else if (expression_booléenne 3) {
// Exécute lorsque l’expression booléenne 3 est vraie.
} else {
// s’exécute lorsque aucune des conditions ci-dessus n’est vraie.
}
x <- c(« que », »faire », »demain »)
if(« demain » %in% x) {
print(« demain est présent »)
} else if (« faire » %in% x) {
print(« faire est présent »)
} else {
print(« Ni faire, ni demain sont présents »)
}
switch
Une instruction switch permet à une variable d’être testée pour l’égalité par rapport à une liste de valeurs. Chaque valeur est appelée case, et la variable à activer est vérifiée pour chaque cas.
Syntaxe
La syntaxe de base pour créer une instruction switch dans R est
switch (expression, case1, case2, case3 ….)
Les règles suivantes s’appliquent à une instruction switch :
Si la valeur d’expression n’est pas une chaîne de caractères, elle est contrainte à l’entier.
Vous pouvez avoir n’importe quel nombre de déclarations de cas dans un commutateur. Chaque cas est suivi de la valeur à comparer et un :.
Si la valeur de l’entier est comprise entre 1 et nargs () – 1 (le nombre maximum d’arguments), l’élément correspondant de la condition de cas est évalué et le résultat renvoyé.
Si expression est évaluée à une chaîne de caractères, cette chaîne correspond exactement aux noms des éléments.
S’il y a plus d’une correspondance, le premier élément correspondant est renvoyé.
Aucun argument par défaut est disponible.
Dans le cas d’aucune correspondance, s’il y a un élément sans nom de … sa valeur est renvoyée. (S’il y a plusieurs arguments, une erreur est retournée.)
x <- switch(
3,
« first »,
« second »,
« third »,
« fourth »
)