Comment utiliser si les déclarations en r

Si déclarations peuvent être très utiles dans la recherche, car ils sont dans un langage de programmation ,. Souvent, vous voulez faire des choix et prendre des mesures dépend d'une certaine valeur.

Définition d'un choix dans votre code est assez simple: Si cette condition est vraie, alors effectuer une certaine tâche. De nombreux langages de programmation vous permettent de faire cela avec exactement ces mots: si. . . puis. R rend encore plus facile: Vous pouvez supprimer le mot puis et indiquer votre choix dans un si déclaration.

Un si déclaration dans R se compose de trois éléments:

  • Le mot-clé si

  • Une seule valeur logique entre parenthèses (ou une expression qui conduit à une valeur logique unique)

  • Un bloc de code entre accolades qui doit être exécuté lorsque la valeur logique est VRAI

Voici une très petite fonction, priceCalculator (), qui calcule le prix que vous facturez à un client basé sur les heures de travail que vous avez fait pour ce client. La fonction devrait prendre le nombre d'heures (heures) Et le prix par heure (PPH) En tant qu'entrée. La priceCalculator () fonction pourrait être quelque chose comme ceci:

priceCalculator lt; - fonction (heures, PPH = 40) {net.price lt; - heures * pphround (net.price)}



Voici ce que fait ce code:

  • Avec le fonction mot-clé vous permet de définir 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 de 40 $ par défaut par heure).

  • Vous calculez le prix net en multipliant heures par PPH.

  • Le résultat de la dernière instruction dans le corps de votre fonction est la valeur retournée. Dans ce cas, cela est le prix total arrondi au dollar.

Vous pourriez tomber l'argument PPH et il suffit de multiplier par 40. Mais heures cela voudrait dire que si, par exemple, votre collègue utilise un taux horaire différent, il faudrait modifier la valeur dans le corps de la fonction afin d'être capable de l'utiliser. Il est une bonne pratique de codage à utiliser des arguments avec des valeurs par défaut pour toute valeur qui peut changer. Cela fait une fonction plus flexible et utilisable.

Maintenant, imaginez que vous avez certains gros clients qui vous donnent beaucoup de travail. Pour les garder heureux, vous décidez de leur donner une réduction de 10 pour cent sur le prix de l'heure pour les commandes qui impliquent 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 ce que presque littéralement dans votre code comme ceci:

priceCalculator lt; - fonction (heures, PPH = 40) {net.price lt; - heures * pphif (heures> 100) {net.price lt; - net.price * 0,9} ronde (net.price)}

Copiez ce code dans un fichier de script, et l'envoyer à la console pour la rendre disponible pour utilisation. Si vous essayez cette fonction, vous pouvez voir que la réduction est accordée uniquement lorsque le nombre d'heures est supérieur à 100:

> PriceCalculator (heures = 55) [1] 2200> priceCalculator (heures = 110) [1] 3960

Cette construction est le moyen le plus général, vous pouvez spécifier une si déclaration. Mais si vous avez seulement une courte ligne de code dans le bloc de code, vous ne devez pas mettre des accolades autour d'elle. Vous pouvez changer la complète si déclaration dans la fonction avec la ligne suivante:

if (heures> 100) net.price lt; - net.price * 0,9

La façon habituelle d'obtenir de l'aide sur une fonction nommée, par exemple, fun.name (?fun.name) Ne fonctionne pas pour si. Pour accéder à l'aide intégrée pour si, vous devez citer le nom de la fonction. Vous pouvez utiliser des guillemets simples, guillemets ou apostrophes inverses. Chacun des énoncés suivants vous amène à la page d'aide pour si:

?«si»? «si»? `if`

» » » » Comment utiliser si les déclarations en r