Fonctions en R

Introduction aux Fonctions

Les fonctions représentent des blocs de code qui accomplissent des tâches spécifiques et peuvent être invoquées à plusieurs reprises dans d'autres parties de votre code. Contrairement à d'autres constructions, une fonction ne s'exécute pas au moment de sa définition, mais plutôt lorsqu'elle est appelée par une autre section de votre programme.

Syntaxe des Fonctions

La syntaxe pour définir une fonction en R présente quelques particularités. Voici comment cela se présente :

my_function <- function(parameters) {
  # Code à exécuter.
}

my_function(parameters)

Dans cet exemple : - my_function est le nom de la fonction et suit les conventions de nommage des variables. - <- est l'opérateur qui associe la définition de la fonction à la variable my_function. - parameters correspond à zéro ou plusieurs variables séparées par des virgules, qui seront passées au bloc de code lors de l'appel de la fonction. - Le bloc de code à exécuter se trouve entre accolades {}.

Appel de Fonction et Arguments

Lorsque vous souhaitez appeler une fonction, il suffit d'utiliser son nom et de lui passer les arguments requis dans des parenthèses. Les arguments peuvent être fournis selon leur position ou par leur nom. Example :

my_function <- function(arg1, arg2, arg3) {
  print((arg1 + arg2) * arg3)
}

# En utilisant des arguments par position :
my_function(value1, value2, value3)

# En utilisant des arguments par nom :
my_function(arg1 = value1, arg2 = value2, arg3 = value3)

Exemple de Fonction

Prenons un exemple simple avec une fonction appelée odd_or_even() qui prend un argument num. Lorsqu’elle est appelée, elle détermine si num est pair ou impair :

odd_or_even <- function(num) {  
  if (num %% 2 == 1) {    
    print("Impair.")  
  } else {    
    print("Pair.")  
  }
}

odd_or_even(20)
odd_or_even(15)

Les résultats de cet appel seront :
[1] "Pair."
[2] "Impair."

La Fonction return()

En R, la fonction return() est utilisée pour arrêter l'exécution d'une fonction et retourner une valeur. Il est à noter que return() est une fonction à part entière et que l'argument de résultat doit être placé entre parenthèses :

my_function <- function() {  
  x <- 1  
  x <- x + 1  
  return(x)  
  # Les lignes suivantes ne sont jamais exécutées.  
  x <- 15  
  print(x)
}

y <- my_function()
print(y)

Le résultat ici sera :
[1] 2

Valeurs par Défaut pour les Paramètres

Les fonctions en R peuvent inclure des valeurs par défaut pour certains paramètres, permettant ainsi d'ignorer ces paramètres lors de l'appel de la fonction. Voici un exemple :

default10 <- function(x = 10) {  
  return(x)
}

print(default10(5))
print(default10())

Cela affichera :
[1] 5
[1] 10