Comment passer d'un script à une fonction r

Allant d'un script à une fonction ne prend pas beaucoup d'effort à tous. Dans R, une fonction est essentiellement un morceau de code qui est exécuté consécutivement et sans interruption. De cette manière, une fonction ne diffère pas beaucoup d'une exécution de script utilisant la source ()

Sommaire

fonction.

Cependant, une fonction a deux très belles avantages par rapport aux scripts:

  • Les fonctions peuvent travailler avec entrée variable, de sorte que vous l'utiliser avec des données différentes.

  • Les fonctions renvoient la sortie comme un objet, de sorte que vous pouvez travailler avec le résultat de cette fonction.

La meilleure façon d'apprendre à nager est en sautant dans la partie profonde, donc la prochaine vous écrivez une fonction pour voir comment cela est facile à R.

Faire le script

Supposons que vous voulez présenter des nombres fractionnaires (par exemple, 1/2) en pourcentages, joliment arrondis à un chiffre décimal. Voici comment y parvenir:

  1. Multipliez les nombres fractionnaires par 100.

  2. Arrondir le résultat à une décimale près.

    Vous pouvez utiliser le rond() fonction pour ce faire.




  3. Collez un signe de pourcentage après le nombre arrondi.

    La coller () fonction est à votre service pour remplir cette tâche.

  4. Imprimer le résultat.

    La impression() fonction fait cela.

Vous pouvez facilement traduire ces étapes dans un petit script pour R. Alors, ouvrez un nouveau fichier de script dans votre éditeur et entrez le code suivant:

X lt; - c (0,458, 1,6653, 0,83112) pour cent lt; - round (x * 100, chiffres = 1) Résultat lt; - la pâte (pour cent, “% ” ;, Sép = “ “) impression (résultat)

Si vous enregistrez ce script dans un fichier de script - par exemple, pastePercent.R - vous pouvez désormais appeler ce script dans la console avec la commande suivante:

> Source (“ pastePercent.R ”) [1] “ 45,8% ” “ 166,5% ” “ 83,1% ”

Cela fonctionne à merveille, aussi longtemps que vous voulez voir les trois mêmes numéros chaque fois que vous appelez le script. Mais en utilisant le script pour d'autres données serait légèrement gênant, parce que vous auriez à modifier le script à chaque fois.

Dans la plupart des éditeurs, vous pouvez également source un script (envoyer un fichier script complet à la console R) d'un simple clic. Dans rstudio, cela se fait en cliquant sur le bouton Source ou en appuyant sur Ctrl + Maj + S pour l'approvisionnement sans écho, et Ctrl + Maj + Entrée pour l'approvisionnement en écho.

Transformer le script

Pour rendre ce script dans une fonction, vous devez faire quelques choses. Imaginez le script comme une petite usine qui prend le matériel numérique brut et polit jusqu'à pourcentages brillants chaque mathématicien rêvez.

Tout d'abord, vous avez à construire le bâtiment de l'usine, de préférence avec une adresse afin que les gens sachent où envoyer leurs numéros. Ensuite, vous devez installer un portail d'entrée de sorte que vous pouvez obtenir les chiffres bruts. Ensuite, vous créer la ligne de production pour transformer ces chiffres. Enfin, vous devez installer une porte arrière de sorte que vous pouvez envoyer vos pourcentages brillants dans le monde.

Pour construire votre usine, modifier le script pour le code suivant:

addPercent lt; - la fonction (x) {pour cent lt; - round (x * 100, chiffres = 1) Résultat lt; - la pâte (pour cent, “% ” ;, Sép = “ “) retour (result)}

Jetez un oeil de plus près les différentes parties qui composent cette petite usine. La fonction comporte les éléments suivants:

  • Le mot-clé fonction toujours doit être suivie par des parenthèses. Il raconte R que ce qui vient ensuite est une fonction.

  • Les parenthèses après fonction former la grille d'entrée, ou liste d'arguments, de votre fonction. Entre les parenthèses, les arguments de la fonction sont donnés. Dans ce cas, il n'y a qu'un seul argument, nommé X.

  • Les accolades, {}, peut être vu comme les murs de votre fonction. Tout entre les accolades fait partie de la chaîne de montage, ou le corps de votre fonction.

  • La retourner () déclaration est la porte arrière de votre fonction. L'objet que vous mettez entre les parenthèses est retourné à l'intérieur de la fonction à votre espace de travail. Vous pouvez mettre un seul objet entre les parenthèses.

Si vous mettez tout cela ensemble, vous obtenez une fonction complète, mais R ne sait pas où le trouver encore. Donc, vous utilisez l'opérateur d'affectation lt; - de mettre cette fonction complète dans un objet nommé addPercent. Ceci est l'adresse R peut envoyer des nombres vers la transformation. Maintenant, la fonction a un joli nom et est prêt à utiliser.

Vous ne pouvez pas indiquer dans la liste des arguments X devrait être un vecteur numérique. Par exemple, si vous essayez d'utiliser un vecteur de caractère comme une valeur pour X, la multiplication à l'intérieur du corps lancera une erreur parce que vous ne pouvez pas multiplier caractères par un nombre. Si vous souhaitez contrôler le type d'objet est donné comme un argument, vous devez le faire manuellement, dans le corps de la fonction.


» » » » Comment passer d'un script à une fonction r