210
Le logiciel R - Maˆ ıtriser le langage
tr` es vite l’int´ erˆ et de deux tˆ aches particuli` eres : la premi` ere consiste ` a fournir
un r´ esum´ e proposant les estimations et le coefficient de corr´ elation lin´ eaire ;
la seconde vise ` a proposer un graphique repr´ esentant le nuage de points et la
droite des moindres carr´ es. Avec l’exp´ erience acquise `
a la lecture des chapitres
pr´ ec´ edents, cet utilisateur ne voit aucune difficult´ e particuli` ere ` a produire ces
r´ esultats en ligne de commande. Cependant, afin d’´ eviter la saisie de plusieurs
lignes de commandes ` a chaque fois qu’il d´ esire voir les r´ esultats de ces deux
tˆ aches, il aimerait d´ evelopper deux fonctions bien plus faciles ` a utiliser dans une
pratique courante du logiciel R. Pour ce faire, il aura le soutien d’un utilisateur
plus avanc´ e qui pourra le conseiller dans sa d´ emarche d` es lors qu’il rencontrera
quelques difficult´ es.
Cette probl´ ematique permettra de motiver le lecteur ` a acqu´ erir les notions
pr´ esent´ ees dans ce chapitre.
SECTION 6.2
D´ evelopper des fonctions
Commen¸ cons par pr´ esenter quelques ´ el´ ements th´ eoriques de base permettant de comprendre comment cr´ eer une fonction R.
6.2.1 Mise en route rapide : d´ eclaration, cr´ eation et appel
de fonctions
La d´ eclaration d’une fonction se fait selon la forme g´ en´ erale suivante :
function()
o` u
– est une suite de param` etres (formels) nomm´ es ;
– repr´ esente, comme son nom l’indique, le contenu
du code qui sera ex´ ecut´ e `
a chaque appel de la fonction.
Voici un exemple de d´ eclaration d’une fonction :
> function(nom) cat("Bonjour",nom,"!")
function (nom)
cat("Bonjour", nom, "!")
Une fonction est consid´ er´ ee par R comme un objet particulier. La cr´ eation
d’une fonction correspond donc ` a affecter l’objet « fonction R » dans une variable dont le nom correspondra ` a la fonction elle-mˆ eme. Par exemple, pour
cr´ eer la fonction bonjour(), on pourra proc´ eder ainsi :
> bonjour <- function(nom) cat("Bonjour",nom,"!")
> bonjour
function (nom)
cat("Bonjour", nom, "!")
Précédent

- 243/701

Suivant