Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
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
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")
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")
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
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
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.