• Aucun résultat trouvé

Notes logiciel R

N/A
N/A
Protected

Academic year: 2022

Partager "Notes logiciel R"

Copied!
12
0
0

Texte intégral

(1)

1

Introduction à R

Sommaire

I. Introduction au logiciel R ... 2

A. Les fenêtres de R ... 2

B. Les objets R ... 5

C. liste de quelques fonctions de base de R ... 7

D. Importation de données ... 8

II. Les fonctions graphiques ... 9

A. Principales fonctions graphiques ... 9

B. Paramètres de personnalisation ... 9

C. Fonctions d'ajout d'information à un graphique... 10

D. Gestion des fenêtres graphiques... 11

E. Comment découper une fenêtre graphique ?... 11

F. Gestion des couleurs sous R ... 12

(2)

2 I. Introduction au logiciel R

R est un langage de programmation complet, simple et évolutif dans le sens que son développement et son amélioration peuvent être effectués par tout un chacun. C'est un logiciel libre doté d'un système statistique et graphique. R possède un site web offciel http://www.r-project.org/ et un dépôt (repository) officiel nommé CRAN pour Comprehensive R Archive Network. Le siteweb présente et documente R tandis que c'est à partir du CRAN que l'on peut télécharger tout fichier relatif à R. Le site principal du CRAN se retrouve à l'adresse http://cran.r-project.org/, mais pour désengorger le réseau chacun est invité à utiliser le miroir le plus près de chez lui. Il existe des versions Windows et Linux de R, qu'on peut télécharger sur le site web. La documentation complète est également disponible sur ce site, notamment le manuel d'Emmanuel Paradis.

Bien que R soit clone d'un autre logiciel de statistiques, S+, il est doté d'un puissant outil de calcul vectoriel lui ouvrant des applications dans d'autres domaines que les statistiques. Initié dans les années 90 par Robert Gentleman et Ross Ihaka chercheurs au Département de Statistique de l'Université d'Auckland en Nouvelle-Zélande, auxquels sont venus depuis s'ajouter de nombreux autres chercheurs, le logiciel R constitue aujourd'hui un langage de programmation intégré d'analyse statistique.

A. Les fenêtres de R

Le logiciel R dispose de 3 fenêtres :

1. La fenêtre de base appelée R Console qui sert à faire des calculs. Elle se présente comme suit

- Le signe > en début de ligne signifie que R est prêt à recevoir en entrée une ligne de commande et à afficher le résultat de cette commande

(3)

- Le signe + en début de ligne signifie que la commande dans la ou lignes précédentes n’a pas été achevée

- En général la commande est rouge et le résultat est en bleu

- Si la syntaxe de la commande n’est pas correcte R affiche un message d’erreur

- Un nombre entre deux crochets au début d’une ligne de résultat indique l'indice du premier nombre de cette ligne

- Les lignes de commande se terminent par point virgule ou par Entrée. Une ligne de commande peut contenir plusieurs commandes séparées par des ; et une commande peut être sur plusieurs lignes

- Les décimales sont indiquées par un point et non une virgule - ↑ et ↓ rappellent les commandes déjà tapées.

- → et ← permettent de se déplacer dans les commandes avant exécution.

- Le symbole # permet d’insérer des commentaires. Tout ce qui suit le symbole # dans une ligne de commande sera ignoré lors de l’exécution de cette commande

- On peut utiliser le copier-coller dans ligne de commande - Pour nettoyer la fenêtre de base de R on peut utiliser Ctrl L.

- Pour quitter R on utilise la commande q() ou quit()

- Quand on quitte R une boite de dialogue nous invite à enregistrer une session. Ainsi toutes les commandes exécutées lors de cette session seront enregistrées dans un fichier nommé .Rhistory et tous les objets crées seront enregistrés dans un fichier nommé .Rdata. Les fichiers .Rhistory et .Rdata se trouve dans le répertoire de travail. Les commandes et objets enregistrés dans Les fichiers .Rhistory et .Rdata peuvent être rappelés lors de prochaines sessions

- La commande getwd() permet d’afficher le répertoire de travail

- La fonction help.start() permet d’afficher une interface aide, manuel, listes par sujets., - La commande help.search() permet d’afficher une aide pour une fonction donnée.

Exemple : help.search("mean"). De même pour les commandes help(mean) et ?mean - On utilise les symboles + pour l’addition, − pour la soustraction, ∗ pour la multiplication,

/ pour la division et ∧ pour la puissance

- On utilise les parenthèses pour la préséance des opérations

- R utilise des fonctions prédéfinies pour effectuer des calculs. La syntaxe d’utilisation d’une fonction est généralement de la forme nompfonction(argument, option) ou nomfonction désigne la fonction utilisé, argument est l’objet R sur lequel on applique la fonction et option désigne des options qu’on modifier. Exemple : sum(x, na.rm = FALSE) sum est une fonction qui calcul la somme des éléments de l’objet x et na.rm=FALSE est une option qui permet de ne pas prendre en compte les éléments manquant dans le calcul de cette fonction. Pour chaque fonction de R des options par défaut sont définies c.-à-d. si on ne met pas d’option ces dernière seront utilisées

- R possèdent des fonctions prédéfinies exp : log() ; log10() ; exp() ; cos() ; sin() ; tan();

abs(); sqrt()

2. La fenêtre graphique appelée R Graphics

- R dispose des fonctions spéciales pour les graphiques. Lorsqu’on fait appelle à l’une de ces fonction le résultat de cette fonction est graphique et ne sera pas affiché dans R Console mais plutôt dans une autre fenêtre. Cette fenêtre se présente comme suit. Les fonctions graphiques seront traitées dans une section dédiée aux graphiques

(4)

3. La fenêtre Editeur R

Lorsqu’on applique plusieurs fois les mêmes lignes commandes, il vaut mieux enregistrer ces commandes pour pouvoir les exécuter à la demande. L’Editeur R sert à écrire ce code et l’enregistrer. Mais l’utilité principale de cette fenêtre est de pouvoir définir de nouvelles fonctions qui ne sont pas prédéfinies dans R pour pouvoir les utiliser chaque fois qu’on en a besoin. Pour ouvrir cette fenêtre on va dans le menu et on fait Fichier > nouveau script ou Fichier > ouvrir un script pour ouvrir un code existant. Cette fenêtre se présente comme suit

(5)

B. Les objets R

1. Création (Affectation)

- La lignes de commande obj < - commande ; commande - > obj ; obj = commande;

assign(‘obj’,commande) permettent de créer un objet nommé obj avec la ligne de commande. Exemple : l’une des commande x<-2*3 ; 2*3->x ; x=2*3, assign(‘x’,2*3) permet de crée un objet appelle x qui contient le résultat de l’opération 2*3 c.-à-d. 6.

- Lorsqu’on utilise une commande de création d’objet aucun résultat n’est affiché pour afficher le résultat de la commande il faut rappeler l’objet et faire un retour à la ligne.

Par exemple lorsqu’on fait x+Entrée, 6 sera afficher. On peut aussi utiliser cet objet dans d’autres calculs par exemple le résultat de la commande x^2 sera 36

- La fonction ls() permet de lister les objets crées - La fonction remove(x) permet de supprimer l'objet x.

- La fonction rm(list=ls()) permet d' effacer l’ensemble des objets créés

2. Mode et classe d’objets R

Les éléments de base du langage R sont des objets qui peuvent être des données (vecteurs, matrices, séries chronologiques...), des fonctions, des graphiques... Les objets R se différencient par leur mode, qui décrit leur contenu, et leur classe, qui décrit leur structure. Les objets atomiques sont de mode homogène et les objets récursifs sont de mode hétérogène.

Les différents modes sont:

- Non défini: NULL (objet vide) - Logique: logical

- Numérique: numeric - Complexe: complex - Caractère: character

Les principales classes d'objets sont:

- les vecteurs: vector - les matrices: matrix - les listes: list

- les structures de données: data.frame 3. Syntaxe pour créer des objets

Création de vecteurs : (les vecteurs sont des objets de type homogène)

- c(...) fonction générique pour concténer des éléments, par défaut sous forme de vecteur ; - from:to génère une séquence ; “:” est prioritaire dans les calculs ; 5:8 + 2 donne

“5,6,7,8,9,10”

- seq(from,to,by ou length) génère une séquence ; by= précise le pas ; length= précise la longueur de la séquence

- rep(x,times) répète x “times” fois ; each= permet de répéter chaque élément de x “each”

fois; rep(c(1,2,3),2) donne 1 2 3 1 2 3 ; rep(c(1,2,3),each=2) donne 1 1 2 2 3 3

Création de data frame : (les data frame sont de nature hétérogène)

- data.frame(...) crée une data frame à partir des arguments ; p.ex.

data.frame(v=1:4,ch=c("a","B","c","d"),n=10) ; les vecteurs plus petit sont réutilisés (“recyclés”) pour correspondre à la longueur du plus grand vecteur

Création de list : (les listes sont de nature hétérogène)

- list(...) crée une liste à partir des arguments ; list(a=c(1,2),b="hi",c=3i)

(6)

Création de matrices : (les matrices sont de nature homogène)

- matrix(x,nrow=,ncol=,byrow=T) permet de crée une matrice à partir des element de x qui doit être un vecteur. Cette matrice contient ‘nrow’ lignes et ‘ncol’ colonnes. L’option byrow=T permet de remplir la matrice par ligne.

- rbind(...) concatène les arguments (matrices, data frames,. . .) selon les lignes (r pour “row”, ligne en anglais)

- cbind(...) idem par *c*olonnes

4. Conversion d’objets

- Les fonction as.array(x), as.data.frame(x), as.numeric(x), as.logical(x), as.complex(x), as.character(x), ... permettent la conversion selon le type précisé ; methods(as) pour obtenir la liste complète des conversions possibles

5. Informations sur les objets

- str(a) affiche la *str*ucture interne d’un objet R

- summary(a) retourne un sommaire de a, généralement constitué de quelques indicateurs statistiques (moyenne, quantiles, range et nombre de données manquantes) mais cela peut varier en fonction de la classe de a

- length(x) nombre d’éléments de x

- dim(x) retourne ou permet de définir les dimensions d’un objet ; dim(x) <- c(3,2) - nrow(x) retourne le nombre de lignes ; ncol(x) retourne le nombre de colonnes

6. Indexation des données

- Indexation des vecteurs

o x[n] retourne le nème élément

o x[-n] retourne tout sauf le nème élément o x[1 :n] retourne les n 1ers éléments

o x[c(1,4,2)] retourne les éléments spécifiques

o x[-c(1,4,2)] retourne tout sauf les éléments spécifiques o x["name"] élément nommé "name"

o x[x > 3] retourne les éléments supérieurs à 3

o x[x > 3 & x < 5] retourne les éléments compris entre 3 et 5

o x[x < 3 | x > 5] retourne les éléments inferieurs à 3 ou supérieur à 5 - Indexation des listes

o x[[n]] retourne le nème élément de la liste

o x[["name"]] retourne l’élément de la liste nommé "name"

o x$name idem - Indexation des matrices

o x[i,j]retourne l’élément de la ligne i et de la colonne j o x[i,] retourne la ligne i

o x[,j] retourne la colonne j

o x[,c(1,3)] retourne les colonnes 1 et 3 o x["name",] ligne nommée "name"

- Indexation des data frames (idem ci-dessus plus ci-dessous) o x[["name"]] retourne la colonne nommée "name"

o x$name idem

o pour trier data on tape data[order(data$V ,data$U),]

(7)

o Fusionner deux tableaux : On utilse rbind(jeux1,jeux2) pour la concaténation des individus. Les tableaux doivent contenir les mêmes variables.

o On utilise merge(data1; data2; by = "nom de variable commune"; all = TRUE).

L'argument all = TRUE indique à R de conserver dans le jeu de données toutes les observations. Si False R retient les individus présents dans les des tableaux

7. Manipulation et sélection des données

- which.max(x) renvoie la position du maximum de x - which.min(x) renvoie la position du minimum de x - rev(x) inverse l’ordre des éléments de x

- sort(x) trie les éléments de x par ordre croissant ; rev(sort(x)) pour un tri décroissant

- cut(x,breaks) divise x en intervalles précisés par breaks (nombre d’intervalles ou valeurs des points de coupe) ; x est converti en facteur

- which(x == a) retourne un vecteur des positions de x pour lesquelles la condition précisée est remplie (TRUE) ; l’argument de cette fonction est toujours de type logique

- na.omit(x) supprime les observations manquantes (NA) d’un objet (supprime toute la ligne si x est une matrice ou une data frame)

- na.fail(x) retourne un message d’erreur si x contient au moins un NA

- table(x) retourne un tableau d’effectifs des différentes valeurs de (x) (adapté aux variables integer ou factor)

- sample(x, size) réalise un échantillonnage aléatoire de “size” éléments de x, avec ou sans remise (option replace=TRUE ou replace=FALSE respectivement)

- prop.table(x,margin=) retourne un tableau de proportion de x ; x doit être un objet de classe table ; margin= permet de choisir le type de pourcentages –lignes, colonnes ou cellules

C. liste de quelques fonctions de base de R - sin,cos,tan,asin,acos,atan,atan2,log,log10,exp - round(x, n) arrondit les éléments de x à n décimales - log(x, base) calcule le logarithme de base “base” de x - max(x) maximum de x

- min(x) minimum de x

- range(x) identique à c(min(x), max(x))

- pmin(x,y,...) retourne un vecteur dont le ie élément est le minimumde x[i], y[i], . . . - pmax(x,y,...) idem pour le maximum

- sum(x) somme des éléments de x

- diff(x) différences entre les éléments de x - prod(x) produit des éléments de x

- cumsum(x) retourne un vecteur dont les éléments sont les sommes cumulée de x - cumprod(x) idem pour le produit

- cummin(x) idem pour le minimum - cummax(x) idem pour le maximum - mean(x) moyenne arithmétique de x - median(x) médiane de x

- quantile(x,probs=) quantiles de l’échantillon (par défaut 0, .25, .5, .75, 1) - weighted.mean(x, w) moyenne pondérée par w de x

- rank(x) rangs des éléments de x

- var(x) ou cov(x) variance de x, calculée sur n − 1 ; si x est une matrice ou une data frame, la fonction retourne la matrice de variance-covariance

- sd(x) déviation standard de x

- cor(x) matrice de corrélation de x (matrice ou data frame) ; 1 si x est un vecteur

(8)

- var(x, y) ou cov(x, y) covariance entre x et y, ou entre les colonnes de x et de y si ce sont des matrices ou des data frames

- cor(x, y) corrélation linéaire entre x et y, ou matrice de corrélation en cas de matrices ou data frames

- scale(x) si x est une matrice, centre et réduit les données

D. Importation de données

R permet des fichiers se trouvant dans l’environnement de travail. Pour connaitre ou se trouve l’environnement de travail on tape getwd(); et pour changer l’emplacement de l’environement pour la durée de session on peut taper setwd(‘’C:/travailR ‘’) ou setwd(‘’C:\\travailR ‘’). Dependant de la nature du fichier on peut utiliser les fonctions suivante pour importer les donnée en une data frame

1. fichier .txt :

- read.table(“file”, header = FALSE, sep = "", dec = ".", row.names, col.names,...) o file=chemin du fichier

o header =T : les nom de variable figurent dans le fichier. Par défaut nomme les variable par V1, V2, ..

o sep= définit le separateur o dec= la decimale

o row.names : vecteurs des noms de lignes ou numero de la ligne qui contient les noms de variable

2. fichier .csv

- read.csv(“file”, header = TRUE, sep = ",", dec=".",...)

3. fichier .csv2

- read.csv2(“file”, header = TRUE, sep = ";", quote="\"", dec=",",...)

4. fichier .sav (SPSS)

- read.spss(“file”, use.value.labels = TRUE, to.data.frame = FALSE, max.value.labels = Inf,..) o use.value.labels=convertir les étiquettes de valeurs en niveau de facteurs ? o to.data.frame=vers une data frame?

o max.value.labels=nombre maximum d’étiquètes de valeurs pour la conversion en facteur

(9)

9 II. Les fonctions graphiques

R est un logiciel puissant et flexible pour produire des graphiques.

Nous avons présenté sommairement sous leur forme la plus simple. On renvoie à l'aide pour obtenir de plus amples informations. La meilleure manière de se familiariser avec ces fonctions est simplement de les utiliser.

A. Principales fonctions graphiques

Pour les fonctions graphiques de R présentées dans cette partie. Seuls les arguments principaux sont présentés pour l'instant. Par contre, plusieurs arguments généraux peuvent être ajoutés pour personnaliser le graphique, ce que l'on a indiqué par les points de suspension.

pie(x, labels, …) où x est un vecteur . Crée un diagramme en secteurs. Le ième secteur est d’angle proportionnel à abs(x[i])/sum(abs(x)). Il est possible de nommer les secteurs avec l'argument labels.

barplot(height, …, names.arg= , legend.text= , beside= , horiz, ) où height est un vecteur ou une matrice . Crée pour le vecteur height un diagramme en bâtons, i.e. pour i = 1, 2, …, length(height), height[i] est représentée par un rectangle de hauteur proportionnelle à height[i].

Par défaut, un diagramme en bâtons verticaux est crée, mais si horiz = TRUE un diagramme en bâtons horizontaux est crée. Il est possible de nommer les bâtons du graphique avec l'argument names.arg

hist(x, breaks, freq, ...) où x est un vecteur. Crée un histogramme pour les données représentées par le vecteur x. On peut spécifier les points de coupure des bâtons de l'histogramme avec l'argument breaks. Parfois, R ignore les instructions donnes dans l'argument breaks.

L'histogramme peut être tracé en terme de fréquences (freq = TRUE).

stem(x,scale, ...) où x est un vecteur. Crée un diagramme arborescent pour les données représentées par le vecteur x. On peut modifier le nombre de branches du diagramme avec l'argument scale.

plot(x, y, type, ...) où x et y sont des vecteurs de même longueur. Représente sur un système d'axes les points (x[i], y[i]) (diagramme de dispersion). Seul x est un argument obligatoire. Si y n'est pas fourni et que x est un vecteur, le diagramme de dispersion des points (i, x[i]) est crée.

Par défaut, les couples de données sont représentées par des points sur le graphique. On peut relier ces points en respectant l'ordre des valeurs dans les vecteurs x et y, avec type = "l" (lignes seulement) ou type = "b" (points et lignes).

B. Paramètres de personnalisation

Certains arguments sont communs à plusieurs des fonctions présentées précédemment. Ils servent à personnaliser les graphiques. Voici la liste des arguments généraux les plus usuels .

- main : Une chaîne de caractères spécifiant un titre pour le graphique.

- sub : Une chaîne de caractères spécifiant un sous-titre pour le graphique.

- xlab : Une chaîne de caractères spécifiant un nom pour l'axe des abscisses.

- ylab : Une chaîne de caractères spécifiant un nom pour l'axe des ordonnées.

- xlim : Un vecteur de deux chiffres spécifiant l'intervalle couvert par l'axe des abscisses.

- ylim : Un vecteur de deux chiffres spécifiant l'intervalle couvert par l'axe des ordonnées.

- ann : Un logique spécifiant si un titre, un sous-titre et des noms aux axes doivent apparaître sur le graphique.

- axes : Un logique spécifiant si les axes doivent être tracés.

- lwd . Un chiffre spécifiant la largeur des lignes.

(10)

- lty . Un vecteur de chiffres ou de caractères spécifiant les types des lignes. Si un seul élément est donné, toutes les lignes sont de même type.

- pch . Un vecteur de chiffres ou de caractères spécifiant les symboles à utiliser pour tracer les points de données. Si un seul élément est donné, tous les points sont tracés en utilisant le même symbole.

- col . Un vecteur de couleurs pour les surfaces, les lignes et/ou les points. Si un seul élément est donné, toutes les lignes et/ou les points sont de la même couleur.

- bg . Un vecteur de couleurs pour l'intérieur des symboles 21 à 25. Si un seul élément est donné, tous les symboles sont de même couleur.

- cex, cex.main, cex.sub, cex.lab, cex.axis . Un chiffre spécifiant la grosseur des points, du titre, du sous-titre, des noms des axes et des axes respectivement. Il s'agit d'un facteur multiplicatif. Par exemple, la valeur 2 va donner des éléments 2 fois plus gros que par défaut et la valeur 0.5 va donner des éléments 2 fois plus petits que par défaut.

C. Fonctions d'ajout d'information à un graphique

Les fonctions suivantes permettent d'ajouter de l'information à un graphique existant.

points(x, y, ...) où x et y sont des vecteurs de même longueur. Ajoute à un graphique les points déterminés par (x, y).

lines(x, y, ...) où x et y sont des vecteurs de même longueur. Ajoute à un graphique les segments de droites pour joindre les points (x[i], y[i]) aux points (x[i + 1], y[i + 1]).

abline(a, b, h, v, ...) Ajoute à un graphique la droite d'ordonnée à l'origine a et de pente b, ou encore des droites horizontales aux points y = h ou des droites verticales aux points x = v.

segments(x0, y0, x1, y1, ...) où tous les arguments sont des vecteurs de même longueur. Ajoute à un graphique des segments de droite allant des points (x0[i], y0[i]) aux points (x1[i], y1[i]).

arrows(x0, y0, x1, y1, ...) où tous les arguments sont des vecteurs de même longueur. Ajoute à un graphique des flèches allant des points (x0[i], y0[i]) aux points (x1[i], y1[i]).

title(main, sub, xlab, ylab, ...) où tous les arguments sont des chaînes de caractères. Ajoute a un graphique le titre main, le sous-titre sub et le nom des axes xlab et ylab.

axis(side, at, labels, ...). Ajoute un axe à un graphique sur le coté spécifié par side. L'argument at est un vecteur identifiant les positions des marques de graduation et labels permet de spécifier les annotations inscrire aux marques.

 text(x, y, labels, ...) où x, y et labels sont des vecteurs de même longueur. Ajoute les chaînes de caractères contenues dans le vecteur labels à chacun des points déterminés par (x, y) dans un graphique. Utile pour ajouter une légende intégrée au graphique ou encore pour décrire ou commenter un aspect du graphique.

mtext(text, side, at, ...). Ajoute dans la marge d'un graphique le texte contenu dans l'argument text. L'argument side permet de spécifier dans quelle marge le texte doit être ajouté et l'argument at spécifié à quel endroit sur cette marge.

legend(x, y, legend, ...) où x et y sont des numériques de longueur 1 et legend est un vecteur de chaînes de caractères. Dans un graphique, place la légende dont les éléments sont dans le vecteur legend dans un rectangle dont le coin supérieur gauche a les coordonnes (x, y).

locator(n). Donne les coordonnées de n points sélectionnes avec la souris sur un graphique affiché dans une fenêtre graphique de R. Cette fonction est utile pour identifier les positions x et y que l'on désire donner à la fonction text. On peut même combiner locator et text. Exemple . text(locator(1), "aberrant").

identify(x, y, n, ...). Écrit sur diagramme de dispersion les numéros i des n observations (x[i], y[i]) sélectionnées avec la souris.

(11)

D. Gestion des fenêtres graphiques

Lorsque l'on fait exécuter une fonction de génération de graphiques en R, une fenêtre graphique est automatiquement ouverte. Par défaut, tous les graphiques générés par la suite sont affichés dans cette même fenêtre graphique, en écrasant le graphique précédent. En R sous Windows, on peut demander ce qu'un historique des graphiques soit enregistré par le menu Historique> Enregistrer.

La commande windows() permet d'ouvrir une fenêtre graphique. Il est possible d'ouvrir plusieurs fenêtres graphiques simultanément. On peut obtenir le numéro identifiant chacune de ces fenêtres en faisant la commande dev.list().

La dernière fenêtre ouverte s'appelle la fenêtre courante. C'est la fenêtre dans laquelle les graphiques sont rendus. Le numéro de cette fenêtre est identifiable par la commande dev.cur().

Parmi les fenêtres graphiques ouvertes, on peut faire de la fenêtre #2 la fenêtre courante en soumettant la commande dev.set(which = 2). On ferme la fenêtre courante avec dev.off(), la fenêtre 3 avec dev.off(which = 3) et toutes les fenêtres avec graphics.off().

En Windows, on peut enregistrer ou imprimer un graphique à partir du menu d'une fenêtre graphique R. Plusieurs formats sont disponibles pour enregistrer le graphique . Postscript, PDF, PNG, BMP et JPEG. Un autre moyen utile pour enregistrer un graphique dans un certain format est de le générer dans une fenêtre graphique autre que celle de R. En tapant help(Devices) on obtient la liste des dispositifs graphiques disponibles en R. On peut par exemple ouvrir un fichier de format BMP (format graphique standard sur Windows) et y

enregistrer un ou plusieurs graphiques avec la fonction bmp. Voici un exemple d'utilisation de la fonction bmp .

> bmp("graphe.bmp") ,

> hist(x) ,

> dev.off() ,

Tant que la commande dev.off() n'est pas exécutée, tous les graphiques générés sont envoyées dans le fichier ouvert avec la fonction bmp. Il en est de même pour les fonctions postscript, pdf, png et jpeg. L'exemple précédent aura créé, dans le répertoire courant, un fichier nommé "graphe.bmp" qui contient l'histogramme de x.

E. Comment découper une fenêtre graphique ?

Dans R il existe un paramètre permettant de découper la fenêtre graphique . par(mfrow=c(nl,nc)) ou par(mfcol=c(nl,nc)).

nl définit le nombre de graphiques en lignes.

nc définit le nombre de graphiques en colonnes.

mfrow signifie que l'ordre d'entrée des graphiques s'exécute selon les lignes et mfcol signifie que l'ordre d'entrée des graphiques s'exécute selon les colonnes. Supposons qu'on veuille

représenter six graphiques dans une fenêtre en deux lignes et trois colonnes. La première instruction conduit à entrer les graphiques selon l'ordre .

1 2 3

4 5 6

La seconde instruction conduit à entrer les graphiques selon l'ordre .

1 3 5

2 4 6

On peut également superposer des graphiques, par exemple le graphique d'une densité normale N(0, 1) et celui d'une Student à 10 degrés de liberté. Pour ce faire, faisons d'abord

> x = seq(-5, 5, .01) , > y = exp(-x^2)/sqrt(2_pi) ,

> plot(x, y, type = "l",col="red",main="Courbes de la normale standard et d'une loi de Student à 10 d.d.l") ,

(12)

pour obtenir la densité normale. On peut ensuite superposer un deuxième graphique comme suit .

> par(new = T) , #commande la superposition

> y = gamma(5.5)/(sqrt(3.1459*10)*gamma(5)_(1 + x^2/10)^f5.5g) ,

> plot(x, y, type = "l") ,

Remarque . Lorsque deux graphiques sont superposes, R détermine par défaut les limites du

graphique en fonction des premières données qu'il reçoit. Il peut alors arriver que les données du deuxième graphique soient partiellement à l'extérieur des limites définies. Il est donc souvent judicieux de définir soi-même les limites des graphiques avec les options xlim et ylim afin de s'assurer que les limites du graphique permettent de représenter les deux ensembles de données.

F. Gestion des couleurs sous R

Le logiciel R comprend un ensemble de 657 couleurs prédéfinies. Pour le vérifier, tapez la ligne de commande suivante .

> colors().

Cependant, les couleurs utilisées par défaut correspondent à un sous-ensemble (limité) de couleurs utilisables. Les couleurs se spécifiant de plusieurs farçons, entre autres par un chiffre ou par une chaîne de caractère, etc.

Si on spécifie une couleur par un chiffre, ce chiffre fait référence à la palette de couleur activée en R.

Par défaut, R utilise une palette de 8 couleurs. Pour visualiser ces huit couleurs, on peut taper la ligne de commande .

> pie(rep(1, 8),col = 1 .8).

Si on spécifie une couleur par une chaîne de caractère représentant le nom de la couleur, ce doit être un des 657 noms générés par la commande

> colors()

Références

Documents relatifs

De nombreux logiciels sont disponibles pour réaliser des analyses statistiques.. Parmi eux, R est un logiciel libre (licence GNU GPL), gratuit et multiplateforme qui fonctionne

s.class affiche le plan factoriel avec ellipses et traits pour grouper les échantillons ade4 s.value affiche le plan factoriel avec taille des points dépendante d'1 variable ade4.

la plupart des chiers d'aide sont bien documentés ; accès direct à la che d'aide avec la fonction help() ;. recherche de chiers d'aide par titre ou mot-clé avec la

na.strings Vecteur de chaînes de caractères indiquant les valeurs manquantes (NA par défaut) colClasses Vecteur de caractères indiquant les modes des colonnes (R fait au mieux

Pour rendre accessible dans l'environnement global une variable créée dans le corps d'une fonction, on peut utiliser le symbole &lt;&lt;- ;. La fonction assign() est plus

Créer une liste de longueur 5 dans laquelle chaque élément doit être composé d'un échantillon d'observations issues d'une loi Normale centrée réduite ;. Sur chaque

• Deuxième étape : Occupons-nous maintenant de retrouver les valeurs des trois quartiles : pour cela, tapez la ligne de commandes suivante :. &gt;sort(iris$Petal.Length) Que

avec des valeurs par défaut : ces valeurs par défaut seront utilisées si les paramètres d’entrée ne sont pas spécifiés.. Nantes) Logiciel R 26 septembre 2012 57 / 147.