La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Cours 5 Partie 2 Les graphiques.

Présentations similaires


Présentation au sujet: "Cours 5 Partie 2 Les graphiques."— Transcription de la présentation:

1 Cours 5 Partie 2 Les graphiques

2 Les graphiques Le résultat d’une fonction graphique ne peut pas être assigné à un objet mais est envoyé à un dispositif graphique (graphical device) Il y a deux sortes de fonctions graphiques: - principales qui créent un nouveau graphe - secondaires qui ajoutent des éléments au graphe pré-existant

3 La commande par() Les graphes sont produits en fonction de paramètres graphiques définis par défaut et modifiables à travers la commande par() Exemples: par(bg="cornsilk") par(xlog=TRUE); par(mfrow=c(3,2)) divise la fenêtre graphique en 6 (par défaut 1 seul graphe par fenêtre)

4 La commande par() suite
Il est prudent de conserver l ’ancien paramétrage exemple: op=par(no.readonly = TRUE) #mémorise sous le nom op l ’ancien paramétrage par(mfrow=c(1,2)) #modifie le paramétrage plot(1:10,sin(1:10)) plot(1:10,cos(1:10)) par(op) # rétablit l ’ancien paramétrage

5

6 Les fenêtres graphiques
On peut avoir plusieurs fenêtres, une seule est active Ouvrir une fenêtre: xll(),pdf()… Liste des fenêtres ouvertes et leur numéro dev.list() Active la fenêtre i: dev.set(i) Ferme la fenêtre i: dev.off(i) Partitionner une fenêtre split.screen(): exemple: split.screen(c(1,2)) 2 graphes en ligne screen():sélectionne une fenêtre erase.screen():efface, sauf si le fond d’écran est transparent(valeur par défaut)

7 Exemple: la fonction curve()
curve(sin,0, pi);

8 curve(x^3-3*x, -2, 2) curve(x^2-2, add = TRUE, col = "violet")

9 curve(pnorm(x),-3,3, col="red") curve(dnorm(x),-3,3,col="blue",add=TRUE)

10 Quelques fonctions graphiques principales
plot(x): valeurs de x en ordonnées plot(x,y): nuage de points y en ordonnées x en abcisses coplot():trace tous les nuages conditionnels boxplot():boites à moustaches pairs(): plusieurs nuages, tous les nuages possible sur toutes les colonnes possible du data frame hist():histogramme des fréquences barplot(), matplot(): : diagrammes en batons curve(): tracé d ’une courbe qqnorm(x):quantiles de x en fonction des quantiles de la loi normale qqlot(x,y):quantiles de y en fonction des quantiles de x persp():vues en perspective

11 Les arguments des fonctions principales
Titre de la figure (en haut du graphique) main= Nom de l’axe des x des y Fixe les limites des axes xlab= ylab= xlim= ylim= « p »dessine des points « l » dessine une ligne,   « s » ou « S » une fonction en escalier… type= Considère les axes comme logarithmiques log=« x » log=« y » log=« xy » axes=FALSE Force la fonction à agir comme une fonction de bas niveau (superpose au graphique précédent) add=TRUE

12 Fonctions graphiques secondaires
points():comme plot(), mais superpose au graphique précédent lines(),segments() :trace des segments text(),mtext(): ajout de texte arrows(): ajoute des flèches abline(h=): lignes horizontales abline(v=): lignes verticales abline(a,b): ligne de pente b, ordonnée à l’origine a legend(x,y): ajoute la légende au point (x,y) title(): ajout du titre locator():positionne un point sur la fenêtre graphique NB: avec text() on peut afficher une équation utilisant des expressions compatibles avec TEX

13 curve(dnorm(x),from=-3,to=3, main="densité de la loi normale centrée réduite")
abline(v=2,col=2) abline(v=-2,col=2) abline(v=-1,col=3) abline(v=1,col=3) abline(v=3,col=4) abline(v=-3,col=4) abline(h=0)

14 Exemples de graphiques plot(rnorm(100))

15 plot(rnorm(100),type="l")

16 simdonnees=rexp(1000, rate=0
simdonnees=rexp(1000, rate=0.1) hist(simdonnees,prob=T) curve(dexp(x,rate=.1),add=TRUE) par(bg="lightyellow")

17

18 x=rnorm(10);y=rnorm(10); plot(x,y,xlab="dix valeurs au hasard", ylab="dix autres valeurs")

19 plot(x,y,xlab="dix valeurs au hasard", ylab="dix autres valeurs", xlim=c(2,2),ylim=c(2,2), pch=22,col="red",bg="yellow")

20 x=rnorm(10);y=rnorm(10);
plot(x,y,xlab="dix valeurs au hasard", ylab="dix autres valeurs",xlim=c(-2,2),ylim=c(-2,2),pch=22,col="red",bg="yellow",bty="l",tcl=0.4,main="comment customiser un graphique avec R")

21

22 boxplot():boites à moustaches boxplot(len ~ dose, data = ToothGrowth)
len supp dose VC 0.5 VC 0.5 VC 0.5 VC 0.5 VC 0.5 VC 0.5 VC 0.5 VC 0.5 VC 0.5 VC 0.5

23 pairs(): plusieurs nuages, tous les nuages possible sur toutes les colonnes possible du data frame pairs(iris[1:4], pch = 21, bg = c("red", "green3", "blue")[unclass(iris$Species)]) iris Sepal.Length Sepal.Width Petal.Length Petal.Width Species setosa setosa setosa setosa setosa setosa

24

25 barplot(): diagrammes en batons T =table(rpois(100,lambda=5)) r = barplot(T, col='gray')

26 barplot() tN=table(Ni = rpois(100, lambda=5))
r=barplot(tN, col=rainbow(20)) r [,1] [1,] 0.7 [2,] 1.9 [3,] 3.1 [4,] 4.3 [5,]....

27 Pour aller plus loin sur les graphiques
demo(graphics); Et admirer...

28 Cours 5 Partie 1 Approfondissements divers

29 Eviter d ’écrire des boucles: 1 avec les fonctions apply() lapply()sapply()
apply(X, MARGIN, FUN, ...) retourne un vecteur de la taille appropriée, où X: tableau Margin =1 pour les lignes, 2 pour les colonnes Fun: fonction '+', '%*%‘, mean, sum,... lapply sapply() même fonction pour les listes et les vecteurs

30 Eviter d ’écrire des boucles (2)
Exemple 1 n=10 p=0.2 x=0:n y=choose(n,x)*p^x*(1-p)^(n-x) #ou bien y=dbinom(x,n,p) plot(x,y,type="h" ,lwd=10) Exemple 2 prod(1:8); 40320 identique à factorial(8)

31 Un exemple d'utilisation du type factor

32 Le type factor:Un exemple
Un facteur est un objet vecteur qui peut être utilisé pour spécifier une classification discrète des composants d’un autre vecteur de même longueur Facteurs non ordonné:variable qualitative ou Facteurs ordonnés:variable qualitative ordonnée

33 prov=c("PA","PA","AG","RG","ME","CT","CT","SR","TP","EN","CL","ME","PA","AG","RG","ME","CT","CT","SR","TP","EN") length(prov) [1] 21 fprov=factor(prov) ;fprov [1] PA PA AG RG ME CT CT SR TP EN CL ME PA AG RG ME CT CT SR TP EN Levels: AG CL CT EN ME PA RG SR TP levels(fprov) [1] "AG" "CL" "CT" "EN" "ME" "PA" "RG" "SR" "TP"

34 revenu.par.province=tapply(revenus,fprov,mean); revenu.par.province;
revenus=c(13000,14900,14000,16100,14500,16600,15900,15400,17000,19000,14600,17000,18500,15800,14500,16600,15900,15400,17000,19000,20000) revenu.par.province=tapply(revenus,fprov,mean); revenu.par.province; AG CL CT EN ME PA RG SR TP

35 La fonction which() which(x, arr.ind = FALSE)
x: un vecteur ou tableau logique arr.ind: logique est-ce que les indices du tableau doivent être retournés lorsque x est un tableau? Exemple: m = matrix(12:24,3,4) ;m [,1] [,2] [,3] [,4] [1,] [2,] [3,]

36 which(m %% 3 == 0); [1] which(m %% 3 == 0, arr.ind=TRUE); row col [1,] [2,] [3,] [4,]

37 Etude empirique des fluctuations d'échantillonnage
Quelquefois, on est dans l'impossibilité de calculer la distribution d'échantillonnage de certaines caractéristiques utiles: soit parce que n est trop petit,soit parce que la distribution parente est inconnue On utilise alors des techniques de simulation, qui substituent la puissance de calcul d'un ordinateur à celle d'un développement analytique:

38 Population de distribution connue:
Si on connait la loi F de la variable parente X, il suffit de simuler un très grand nombre N d'échantillons de n valeurs de X. Pour chaque échantillon, on calcule la statistique cherchée, d'ou une distribution T1, ...Ti Si N est grand, la répartition empirique des Ti est proche de la loi de la variable T

39 Population de distribution inconnue:la méthode de rééchantillonnage bootstrap
L'idée (B .EFRON) est la suivante: Si n est grand Fn* est proche de F, on aura donc une bonne approximation de la loi de T en utilisant Fn*à la place de F. On tire donc des échantillons de n valeursdans la loi Fn*, ce qui revient à rééchantillonner dans l'échantillon x1,...xn. Autrement dit à effectuer des tirages avec remise des n valeurs parmi les n observées

40 Les valeurs observées sont donc répétées.
Lorsque n n'est pas très grand, on peut énumérer tous les échantillons possible équiprobables,(n^n),sinon on se contente d'en tirer un nombre suffisamment grand à l'aide d'une technique de tirage dans une population finie


Télécharger ppt "Cours 5 Partie 2 Les graphiques."

Présentations similaires


Annonces Google