Écrire des fonctions

R niveau intermédiaire

Filip Schouwenaars

DataCamp Instructor

Quand envisagez-vous de rédiger la vôtre ?

  • Résoudre un problème spécifique et bien défini
  • Principe de la boîte noire
  • Si cela fonctionne, les détails techniques sont moins importants
R niveau intermédiaire

La fonction triple()

R niveau intermédiaire

La fonction triple()

my_fun <- function(arg1, arg2) {
  body
}
R niveau intermédiaire

La fonction triple()

triple <- function(arg1, arg2) {
  body
}
R niveau intermédiaire

La fonction triple()

triple <- function(x) {
  body
}
R niveau intermédiaire

La fonction triple()

triple <- function(x) {
  3 * x
}
R niveau intermédiaire

La fonction triple()

triple <- function(x) {
  3 * x
}
ls()
"triple"
triple(6)
18
  • Le nombre 6 correspond à l'argument x (par position)
  • Le corps de la fonction est exécuté : 3 * 6
  • Dernière expression = valeur de retour
R niveau intermédiaire

return()

triple <- function(x) {
  y <- 3 * x
  return(y)
}
triple(6)
18
R niveau intermédiaire

La fonction math_magic()

R niveau intermédiaire

La fonction math_magic()

R niveau intermédiaire

La fonction math_magic()

R niveau intermédiaire

La fonction math_magic()

my_fun <- function(arg1, arg2) {
  body
}
R niveau intermédiaire

La fonction math_magic()

math_magic <- function(arg1, arg2) {
  body
}
R niveau intermédiaire

La fonction math_magic()

math_magic <- function(a, b) {
  body
}
R niveau intermédiaire

La fonction math_magic()

math_magic <- function(a, b) {
  a*b + a/b
}
math_magic(4, 2)
10
math_magic(4)
Error: argument "b" is missing, with no default
R niveau intermédiaire

Argument facultatif

math_magic <- function(a, b = 1) {
  a*b + a/b
}
math_magic(4)
8
math_magic(4, 0)
Inf
R niveau intermédiaire

Utiliser return()

math_magic <- function(a, b = 1) {
  if(b == 0){
    return(0)
  }
  a*b + a/b
}
math_magic(4, 0)
0
R niveau intermédiaire

Passons à la pratique !

R niveau intermédiaire

Preparing Video For Download...