Vidéo: Comment utiliser les conditions if,else... en programmation ? 2025
Si les instructions peuvent être très utiles dans R, comme dans n'importe quel langage de programmation,. Souvent, vous voulez faire des choix et agir en fonction d'une certaine valeur.
Définir un choix dans votre code est assez simple: si cette condition est vraie, exécutez une certaine tâche. De nombreux langages de programmation vous permettent de faire exactement cela: si … alors. R le rend encore plus facile: vous pouvez supprimer le mot puis et spécifier votre choix dans une instruction if.
Une instruction if dans R est constituée de trois éléments:
-
Le mot-clé if
-
Une seule valeur logique entre parenthèses (ou une expression qui mène à une seule valeur logique)
-
A bloc de code entre accolades qui doit être exécuté lorsque la valeur logique est TRUE
Voici une très petite fonction, priceCalculator (), qui calcule le prix que vous facturez à un client en fonction des heures de travail que vous avez effectuées pour ce client. La fonction doit prendre le nombre d'heures (heures) et le prix par heure (pph) en entrée. La fonction priceCalculator () pourrait être quelque chose comme ceci:
priceCalculator <- function (heures, pph = 40) {net. price <- hours * pph round (prix net)}
Voici ce que fait ce code:
-
Avec le mot-clé function, vous définissez la fonction.
-
Tout entre les accolades est le corps de la fonction (voir chapitre 8).
-
Entre les parenthèses, vous spécifiez les arguments heures (sans valeur par défaut) et pph (avec une valeur par défaut de 40 $ par heure).
-
Vous calculez le prix net en multipliant les heures par pph.
-
Le résultat de la dernière instruction dans le corps de votre fonction est la valeur renvoyée. Dans ce cas, il s'agit du prix total arrondi au dollar.
Vous pourriez abandonner l'argument pph et simplement multiplier les heures par 40. Mais cela voudrait dire que si, par exemple, votre collègue utilise un taux horaire différent, il devrait changer la valeur dans le corps de la fonction afin de être capable de l'utiliser. C'est une bonne pratique de codage d'utiliser des arguments avec des valeurs par défaut pour toute valeur qui peut changer. Cela rend une fonction plus flexible et utilisable.
Imaginez maintenant que vous avez de gros clients qui vous donnent beaucoup de travail. Pour les garder heureux, vous décidez de leur donner une réduction de 10% sur le prix horaire pour les commandes impliquant plus de 100 heures de travail. Donc, si le nombre d'heures travaillées est supérieur à 100, vous calculez le nouveau prix en multipliant le prix par 0. 9.
Vous pouvez écrire cela littéralement dans votre code comme ceci:
priceCalculator <- function (heures, pph = 40) {net. prix 100) {net. prix <- net.price * 0. 9} round (prix net)}
Copiez ce code dans un fichier script et envoyez-le à la console pour le rendre disponible. Si vous essayez cette fonction, vous pouvez voir que la réduction n'est donnée que lorsque le nombre d'heures est supérieur à 100: >> priceCalculator (heures = 55) [1] 2200> priceCalculator (heures = 110) [1] 3960
Cette construction est la manière la plus générale de spécifier une instruction if. Mais si vous avez seulement une courte ligne de code dans le bloc de code, vous n'avez pas besoin de mettre des accolades autour de lui. Vous pouvez modifier l'instruction if complète dans la fonction avec la ligne suivante:
if (heures> 100) net. prix <- net. price * 0. 9
La façon habituelle d'obtenir de l'aide sur une fonction nommée, par exemple, fun. nom (nom amusant) ne fonctionne pas pour si. Pour accéder à l'aide intégrée pour if, vous devez citer le nom de la fonction. Vous pouvez utiliser des guillemets simples, des guillemets doubles ou des guillemets. Chacune des instructions suivantes vous amène à la page d'aide pour if:
? 'si si"? 'si'
