Vidéo: Déterminer graphiquement une fonction affine - Seconde 2025
Lorsque vous utilisez des fonctions comme arguments dans R, il est parfois nécessaire de faire correspondre les fonctions. Cela signifie également que si vous avez un objet avec le même nom que la fonction que vous voulez utiliser, cette construction entière ne fonctionnera pas. Supposons que vous ayez eu l'idée de créer un vecteur avec le gain relatif de quelques tours de poker comme ceci: >> tour <- c (0.48, -0.52, 1.88) < Si vous essayez d'appeler addPercent () avec l'argument FUN sur ce vecteur, vous obtiendrez l'erreur suivante:
>> addPercent (round, FUN = round) Erreur dans addPercent (round, FUN = round): impossible de trouver la fonction "FUN"
Au lieu de passer le code de la fonction round, R passe le vecteur rond comme l'argument FUN. Pour éviter ce genre de problèmes, vous pouvez utiliser une fonction spéciale, match. fun (), dans le corps de addPercent (), comme ceci:
addPercent <- function (x, mult = 100, FUN, …) {FUN <- match. fun (FUN) pour cent <- fUN (x * mult, …) paste (pour cent, "%", sep = ")}Cette fonction recherche une fonction qui correspond au nom round et copie ce code dans le FUN En plus du bonus vectoriel, vous pouvez utiliser fun () pour utiliser un objet caractère comme argument, donc spécifier FUN = 'round' fonctionne aussi.
Toutes les fonctions R natives utilisent match.amour () à cet effet, et il est recommandé de faire la même chose si vous écrivez du code qui sera utilisé par d'autres personnes. fun () aussi longtemps que vous utilisez des noms sensés pour les autres objets de votre espace de travail.
