SCIENCES/TECHNO STATISTIQUES
R : Programmer avec des données*
Yves Croissant
EN DEUX MOTS
R est un Logiciel libre, qui est un
dialecte de S, langage de programmation pour les
analyses statistiques développé dans les années
80 aux laboratoires Bell, en particulier par John
Chambers. R a été écrit initialement par Ross
Ihaka et Robert Gentleman et est actuellement
développé par une petite équipe de développeurs
(R Core Development Team). Il est distribué sous
les termes de la GNU public licence.
88
GNU LINUX MAGAZINE FRANCE
89
est disponible sous la forme de
chiers exécutables pour tous les
systèmes d’exploitation courants :
Linux (Debian, Red Hat, Mandrake
et Suse), Windows et MacOS. Il est également
disponible sous forme de sources.
Le site de R est :
http://www.r-project.
org
.
Les liens suivants sont particulièrement
intéressants :
CRAN : pour télécharger R. Il faut d’abord
choisir un site miroir, puis télécharger
le logiciel.
Documentation : les manuels de R sont
un peu austères pour les débutants. Dans
la section
Other
, on trouve plusieurs
documents plus accessibles. Notons
en particulier « R pour les débutants »
d’Emmanuel Paradis.
Le lien Search est également très utile
an de trouver comment une fonction
particulière est implantée dans R.
Une fois le logiciel installé, il peut être lancé
à partir d’un terminal en entrant simplement
R
. Une ligne débutant par le signe
>
apparaît
alors. Une expression écrite après ce signe
suivie d’un retour chariot est alors évaluée
par R.
Cette manière de procéder permet de
travailler en mode interactif. Pour un usage
régulier, il est préférable de travailler avec
un éditeur de texte. emacs (
http://www.
gnu.org/software/emacs/
) dispose d’une
librairie appelée
ess
(emacs speaks statistics)
permettant de travailler avec R (ainsi qu’avec
d’autres logiciels de statistique).
Les commandes sont alors entrées
dans un chier et peuvent être évaluées
individuellement ou par bloc dans la console de R. Le site
de cette librairie est :
http://ess.r-project.org
.
1. Les différents objets
R est un langage fonctionnel. Toute fonction crée un résultat
qui est stocké dans un objet, c’est-à-dire une structure
de donnée dotée de différentes fonctions permettant de
manipuler ces données de manière appropriée. Chaque fonction
dispose d’une aide en ligne, que l’on peut consulter en tapant
help(fonction)
ou plus simplement
?fonction
.
Une fonction admet en général un ou plusieurs arguments,
certains obligatoires, d’autres facultatifs, qui peuvent être
renseignés en respectant l’ordre de ces arguments, ou à l’aide
d’une syntaxe clé-valeur. Par exemple, la fonction
lm
, que l’on
verra ultérieurement, a pour deux premiers arguments
formula
et
data
. Les trois syntaxes ci-dessous sont équivalentes :
Même si R n’est pas réellement un langage orienté objet,
il en possède certaines caractéristiques qui facilitent la
programmation. Nous présenterons dans cette section les
principaux objets utilisés par R.
1.1 Les vecteurs
L’objet de base est le vecteur. La fonction
c()
permet de
créer un vecteur.
Le résultat de la commande précédente crée un vecteur
numérique et l’imprime.
La commande ci-dessus est quasiment équivalente. La différence
est que le résultat de la commande est stocké dans un nouvel
objet appelé
w
au moyen de l’opérateur d’assignation
<-
(qui
peut être remplacé par le signe
=
).
La seconde commande
w
(équivalente à
print(w)
), imprime
cet objet. Chaque objet est caractérisé par un certain nombre
d’attributs. Pour l’objet de base (le vecteur), ils sont au nombre
de deux : le mode et la longueur. Ces attributs peuvent être
extraits à l’aide de fonctions homonymes.
> lm(formula=x,data=y)
> lm(x,y)
> lm(data=y,formula=x)
> c(1, 2, 3, 4)
[1] 1 2 3 4
> w <- c(1, 2, 3, 4, 2, 6, 4)
> w
[1] 1 2 3 4 2 6 4
> mode(w)
[1] «numeric»
> length(w)
[1] 7