CommencezCommencez gratuitement

Arguments multiples (1)

Comme vous l'avez vu avec les arguments optionnels, une fonction peut avoir plusieurs paramètres. Cela permet de rendre votre fonction plus souple. Voyons cela en action.

pow <- function(x, power = 2) {
    x^power
}

pow(2)
[1] 4

pow(2, power = 3)
[1] 8

Au lieu d'une fonction square(), nous avons maintenant une version qui fonctionne avec n'importe quelle puissance.

L'argument power est optionnel et a une valeur par défaut de 2, mais l'utilisatrice ou l'utilisateur peut facilement le modifier. C'est aussi un exemple de la façon d'ajouter plusieurs paramètres. Remarquez que les paramètres sont séparés par une virgule et que la valeur par défaut est définie avec un signe égal.

Ajoutons plus de fonctionnalités à percent_to_decimal() pour arrondir le pourcentage à un certain nombre de décimales.

Cette activité fait partie du cours

R intermédiaire pour la finance

Voir le cours

Instructions de l’exercice

  • Remplissez les blancs dans la version améliorée de percent_to_decimal() pour faire ce qui suit :
    • Ajoutez un deuxième argument optionnel nommé digits dont la valeur par défaut est 2.
    • Dans le corps de la fonction, divisez percent par 100 et assignez le résultat à decimal.
    • Utilisez la fonction round sur decimal, et définissez le deuxième argument digits pour préciser le nombre de décimales.
  • Votre fonction fonctionnera aussi sur des vecteurs de longueur > 1. percents a été défini pour vous.
  • Appelez percent_to_decimal() sur percents. Ne spécifiez aucun argument optionnel.
  • Appelez de nouveau percent_to_decimal() sur percents. Spécifiez digits = 4.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Percent to decimal function
percent_to_decimal <- function(percent, ___ = ___) {
    ___ <- percent / 100    
    ___(decimal, ___)
}

# percents
percents <- c(25.88, 9.045, 6.23)

# percent_to_decimal() with default digits
___

# percent_to_decimal() with digits = 4
___
Modifier et exécuter le code