6.1 Introduction
La plupart du temps, vous devrez utiliser des fonctions dans R poureffectuer les tâches voulues.
Les fonctions sont des outils qui permettent de simplifierl’utilisation de R. Elles permettent d’exécuter des opérations sur desobjets sans avoir à spécifier chaque étape. Les fonctions sont des codespré-existants dans R qui sont exécutés lorsque nécessaire. Ça permet desauver du temps, car il n’est pas nécessaire de créer un code et del’écrire à chaque fois qu’on doit l’utiliser.
Pour exécuter une fonction, vous devez l’appeler. L’appeld’une fonction est un raccourci vers le code de la fonction. Pour cefaire, il est nécessaire de spécifier des valeurs d’entrée qu’on nommearguments (ou quelquefois paramètres). Après avoir lancé unefonction, R retourne une valeur de retour dans la console. Lacommande doit être structurée proprement en suivant les “règles degrammaire” du langage R (i.e. la syntaxe).
Un appel de fonction est structuré de la manière suivante : le nom de lafonction suivi de parenthèses ( )
. On insère les arguments séparés pardes virgules à l’intérieur des parenthèses :
nom_de_la_fonction(arg1, arg2, ...)
Voyons l’exemple de la fonction sum
qui permet de faire la somme dedeux ou plusieurs nombres.
sum(1, 2)
Les arguments sont des valeurs utilisées comme instructions pour quela fonction puisse retourner un résultat. Les objets peuvent êtreutilisés comme arguments :
a <- 3b <- 5sum(a, b)
## [1] 8
La sortie, qui apparaît sur la dernière ligne, est la valeur deretour de la fonction. Dans ce cas-ci, c’est la somme de a
et b
,soit 8.
6.1.1 DÉFI 11
Créez un vecteur nommé
a
contenant tous les nombres de 1 à 5Créez un objet nommé
b
avec une valeur de 2Ajoutez a à b en utilisant l’opérateur
+
et enregistrez le résultat dans un objet appeléresultat_add
Ajoutez a à b en utilisant la fonction
sum()
et enregistrez le résultat dans un objet appeléresultat_sum
Comparez les objets resultat_add et resultat_sum. Sont-ils différents?
Ajoutez 5 à
resultat_sum
en utilisant la fonctionsum()
.
Solutions
- Créez un vecteur nommé
a
contenant tous les nombres de 1 à 5
a <- 1:5
- Créez un objet nommé
b
avec une valeur de 2
b <- 2
- Ajoutez a à b en utilisant l’opérateur
+
et enregistrez le résultat dans un objet appeléresultat_add
resultat_add <- a + b
- Ajoutez a à b en utilisant la fonction
sum()
et enregistrez le résultat dans un objet appeléresultat_sum
resultat_sum <- sum(a, b)
- Comparez les objets resultat_add et resultat_sum. Sont-ils différents?
resultat_add
## [1] 3 4 5 6 7
L’opération sur le vecteur ajoute deux à chaque élément. Le résultatest un vecteur.
resultat_sum
## [1] 17
La fonction sum()
additionne toutes les valeurs de a
et b
. C’estéquivalent à 1 + 2 + 3 + 4 + 5 + 2. Le résultat est un nombre.
- Ajoutez 5 à
resultat_sum
en utilisant la fonctionsum()
.
sum(resultat_sum, 5)
## [1] 22
6.2 Arguments
Tous les arguments ont un nom qui peut être indiqué lorsqu’onappelle une fonction.
Pour indiquer le nom d’un argument lors d’un appel de fonction, ilsuffit simplement de l’écrire de la façon suivante :nom_argument=valeur
:
log(x = 8, base = 2)
Si le nom n’est pas indiqué, l’ordre des arguments estprimordial.
log(8, 2)
## [1] 3
log(2, 8)
## [1] 0.3333333
Si le nom est indiqué, l’ordre des arguments n’a pasd’importance.
log(x = 8, base = 2)
## [1] 3
log(base = 2, x = 8)
## [1] 3
6.2.1 DÉFI 12
plot(x, y)
est une fonction qui crée un graphique de y en fonctionde x. Cette fonction nécessite deux arguments nommés x
et y
.
Quelles sont les différences entre les lignes de codes suivantes ?
a <- 1:100b <- a^2plot(a, b)plot(b, a)plot(x = a, y = b)plot(y = b, x = a)
Solutions
plot(a, b)
Créer un graphique de b
en fonction de a
.
plot(b, a)
Créer un graphique de a
en fonction de b
. Les noms d’arguments nesont pas indiqués, donc l’ordre des arguments est primordial!
plot(x = a, y = b)
Créer un graphique de b
en fonction de a
. C’est le même graphiqueque plot(a, b)
.
plot(y = b, x = a)
Créer un graphique de b
en fonction de a
. Les noms d’arguments sontindiqués, donc l’ordre des arguments n’a pas d’importance.
À titre de référence, voici une liste de fonctions couramment utiliséesdans R :
sqrt, log, exp, max, min, sum, mean, sd, var, summary, plot, par, paste, format,head, length, str, names, typeof, class, attributes, library, ls, rm, setwd, getwd, file.choose,c, seq, rep, tapply, lapply, aggregate, merge, cbind, rbind, unique,help (or ?), help.search (or ??), help.start
All the content of the workshop series is under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.