Créer une fonction en R

Créer une fonction en R avec function()

Il existe une multitude de fonctions en R, mais savez-vous que vous pouvez également créer les vôtres ?

Pour créer ses fonctions, il est nécessaire d'attribuer une fonction à un objet avec function(). Il faudra attribuer des paramètres à function(), qu'on pourra prédéfinir ou non. Si un paramètre n'est pas prédéfini, alors il sera obligatoire. S'il est prédéfini, il est possible de le modifier lors du déclenchement de la fonction.

Voici un exemple.

maFonction <- function(variable1, variable2 = TRUE) {
print(variable1)
if (variable2 == TRUE)
{print("La variable2 n'a pas été modifiée)} else {
print("La variable 2 a été modifiée)}
}

 

La fonction R que nous avons créée utilise 2 variables. La première variable n'est pas prédéfinie, il sera donc nécessaire de la renseigner. La deuxième est prédéfinie, il est donc possible de ne pas la mentionner au déclenchement de la fonction, ou de l'éditer.

Créer ses fonctions peut avoir un grand intérêt lorsqu'une action est destinée à être répétée. Cela permet ainsi d'être plus performant dans le traitement de ses données et gagner en efficacité.

L'action qui sera dédiée à être répétée sera formatée selon une structure unique, ce qui pourra éviter des erreurs de traitement.

Appel d'une fonction personnalisée en R

Pour déclencher la fonction que nous avons créée, il faut l'appeler l'objet comme n'importe quelle fonction, le comportement est identique Voici un exemple.

maFonction("La valeur de ma variable 1")

 

Cela renverra la réponse suivante.

La valeur de ma variable 1
La variable2 n'a pas été modifiée

Utilisation de la fonction return() dans une fonction personalisée

Les objets créés à l'intérieur d'une fonction ne font pas partie de l'environnement global. Ainsi, pour renvoyer une valeur, nous utiliserons la fonction return(). Voici un exemple.

maFonction <- function(variable1, variable2) {
monResultat <- variable1 + variable2
return(monResultat)
}

 

Ainsi, en déclenchant notre fonction comme ceci...

maFonction(4, 8)

 

Nous obtenons le résultat suivant...

12

Vous pouvez désormais créer des fonctions plus complexes et pourquoi pas, créer à termes votre propre librarie R.

Article précédent
Charger une librairie R
Article suivant
Fusionner 2 datasets

A propos de l'auteur

David Looses

David Looses est consultant en référencement sénior à l'agence SEO de Lille Aseox. Il est passionné par le langage R et est spécialiste du traitement des données.