Académique Documents
Professionnel Documents
Culture Documents
idèle à son principe, le logiciel R a recours à l’utilisation de fonctions pour la réalisation de graphiques.
Si elles sont utilisables "directement" à partir de données, elles sont également "paramétrables", donnant
ainsi à chaque utilisateur la possibilité de les personnaliser en vue d’une utilisation adaptée à son besoin.
En plus des fonctions permettant la réalisation des graphiques habituels (fonctions graphiques de
haut niveau), il existe une famille de fonctions (dîtes de bas niveau) permettant d’ajouter des
éléments à un graphique existant et une autre (on parle alors de fonctions interactive) pour obtenir ou
ajouter des informations de manière interactive (avec l’aide de la souris notamment). Grâce à ces 3
types de fonctions, l’utilisateur pourra élaborer de nouvelles fonctions graphiques qui répondront àces
besoins. L’objectif est de vous présenter ces notions de bases afin que vous soyiez capables, à l’issue de
cet E-thème, de créer vos propres outils graphiques. Au cours de celui-ci, la data frame dfcontenu dans
le fichier donnees.txt sera utilisée. Il convient donc avant de commencer de la charger et d’en extraire
les variables (Avec les fonctions source() et attach()).
omme nous l’avons dit, il existe trois familles de fonctions. Cette "distinction" ne les rend pas pour
autant dissociables. Au contraire elles sont parfaitement complémentaires. Généralement, lorsqu’elles
sont utilisées ensemble la démarche est la suivante. Un graphique complet est construit avec les
fonctions de haut niveau. Ensuite, quelques éléments informatifs (titres, légende, texte, ...) peuvent
être ajouté avec les fonctions de bas niveau. Enfin, moins systématiquement, la possibilité peut être
donnée à l’utilisateur d’extraire l’information de son choix avec les fonctions interactives.
Supposons maintenant que l’on souhaite mettre en valeur les individus possédant tous la modalité
majeure de la variable IMP. On utilise alors l’instruction
points(VER[IMP=="majeure"],JA1[IMP=="majeure"],col="red")
qui superpose (en rouge) les points correspondants à ces individus.
Ces trois fonctions sont les plus courramment utilisées avec text, legend ou axis (qui le sont un peu
moins). Comme le montrent les exemples ci-dessus, les fonctions de bas niveau sont destinées à deux
tâches principalement :
ajouter de nouveaux éléments graphiques ajouter des informations. En s’intéressant
aux options des fonctions de haut niveau, vous remarquerez que l’on peut parfaitement intégrer
directement celles-ci au graphique. Cependant l’utilisation des fonctions de bas niveau permet de les
"affiner" pour un rendu plus esthétique.
Afin de vous familiariser avec l’utilisation conjointe des deux types de fonctions que nous venons de voir,
il est utile de regarder la démonstration proposé par R (demo(graphics)).
Par contre, elle peut s’avérer être très utile associée aux fonctions de bas niveaux servant à donner des
informations sur un graphique (texte, legende, ...). En effet, en remplaçant la définition des coordonnées
par locator(1), l’utilisateur peut placer manuellement ces éléments. Lorsque les graphiques sont
chargés, cela est très appréciable.
L’autre fonction (identify) a plus d’intérêt. Elle permet en effet, pour les représentations de
variables quantitatives, d’obtenir, par un simple clic, l’identité et les coordonnées d’un individu. Pour
cela, il suffit juste de fournir les vecteurs de données et les identifiants correspondants. Admettons que
l’on souhaite connaître les 6 individus du groupe supérieur gauche dans le graphes ci-dessus. Pour cela, il
faut passer l’instruction :
identify(VER,JA1,row.names(df),plot=T)
Lorsque la sélection est terminée, un simple clic sur le bouton droit de la souris permet de stopper
l’éxécution de la fonction.
Dans la console, apparait alors les identifiants sélectionnés.
Enfin, la sauvegarde des graphiques s’effectue avec la fonction savePlot en précisant le nom du fichier
de sauvegarde et le type de fichier (jpg, bmp, ps, pdf, ...).
es fonctions que nous venons de voir possèdent des arguments permettant de régler certains aspects
graphiques (titre, labels, couleur, ...). Mais d’un point de vue visuel, le résultat n’est pas toujours
satisfaisant. Il faut alors avoir recours à la fonction par, qui permet de régler un nombre très important
de paramètres à appliquer au graphique en construction. Son principe consiste à lui donner en argument
la liste des nouvelles valeurs de ces paramètres (col="red" pour la couleur rouge par exemple). Elle doît
être utilisée avant de construire le graphique.
Les paramètres qu’il est possible de régler sont en nombre très important. Il est possible d’en obtenir la
liste complète par l’instruction par(). Les tableaux suivant fournissent les paramètres les plus utiles.
our terminer cette présentation des fonctions graphiques, nous vous donnons ci-dessous une liste qui
devrait vous permettre de réaliser la plupart des graphiques que vous souhaitez réaliser. Aucune
description n’est faîte et il est donc plus que conseilléd’aller regarder l’aide en ligne.
4 - Exercice
EXERCICE :
ENONCE :
et exercice reprend les données utilisées au cours de cet E-thème. Le but est de construire une
fonction graphique représentant la liaison entre deux variables qualitatives. Pour cela, elle devra
représenter, dans un même graphique, la distribution de ces 2 variables, le nuage de points auquel on
superposera la droite de régression et le coefficient de corrélation. Le résultat devra prendre la forme
du graphique ci-dessous.
Les arguments de cette fonction seront au nombre de 2 : la variable àexpliquer et la variable
explicative.
INDICATION :
a "difficulté" de la construction ne réside pas dans la réalisation des différents graphiques, mais plus
dans leur organisation. La définition de paramètres graphiques avec la fonction par sera abondamment
utilisée.
Quelques points sont à souligner. Tout d’abord, rappelez vous que la juxtaposition de texte et de la
valeur d’un objet se fait à l’aide de la fonction paste. Enfin, l’impression sur le graphique du coefficient
de corrélation dans un cadre se fait par un moyen détourné. Il n’existe en effet pas de fonction de haut
niveau dessinant un cadre. Il faut donc construire un nuage de points (dont les individus importent
peu) et ne pas représenter les points, les axes et les labels (en réglant certains paramètres). Ensuite, il
reste à placer dans le graphe le coefficient de corrélation. Pour déterminer les coordonnées où sera
placer le texte, le paramètre usr est utilisé. C’est un vecteur de dimension 4 qui contient les
coordonnées des extrémités de la région de dessin. Il suffit alors d’utiliser ces 4 éléments pour
déterminer les coordonnées souhaitées.
CORRECTION :
nomy<-deparse(substitute(y))
nomx<-deparse(substitute(x))
on.exit(par(par.old)) par(mfrow=c(2,2))
# distributions
boxplot(y,main=paste("Distribution de",nomy),horizontal=TRUE)
boxplot(x,main=paste("Distribution de",nomx),horizontal=TRUE)
lines(x,glm(y x)$fitted.values,type="l")
plot(c(0,10),c(0,10),main="Coefficient de corrélation",type="n",xlab="",ylab="")
usr <-par("usr")
text((usr[1]+usr[2])/2,(usr[3]+usr[4])/2,paste(round(cor(VER,JA1),3)),font=4,cex=2)
nomy<-deparse(substitute(y))
nomx<-deparse(substitute(x))
on.exit(par(par.old))
par(mfrow=c(2,2),bg="lavender",col.main="blue",cex.main=0.8)
# distributions
boxplot(x,horizontal=TRUE)
boxplot(x,main=paste("Distribution de",nomx),col="lavender",horizontal=TRUE,add=TRUE)
boxplot(y,horizontal=TRUE)
boxplot(y,main=paste("Distribution de",nomy),col="lavender",horizontal=TRUE,add=TRUE)
points(x,y)
lines(x,glm(y x)$fitted.values,type="l",col="red")
# Coefficient de corrélation
plot(x,y,main="Coefficient de
corrélation",type="n",xlab="",ylab="",col.axis="lavender",col.lab="lavender",tcl=0)
text((usr[1]+usr[2])/2,(usr[3]+usr[4])/2,paste(round(cor(VER,JA1),3)),font=4,cex=2)
Le résultat est alors plus probant.
<