Correction TD 4
Exercice 1 : > library("datasets"). > f=iris. > nrow(f) ... Exercice 3 : > library("cluster
"). > a=airquality. > t=cut(a$Temp,breaks=3). > coplot(a$Ozone~a$Solar.R|t).
Part of the document
Correction TD 4
Exercice 1 :
> library("datasets")
> f=iris
> nrow(f)
[1] 150
> mean(f$Sepal.Length)
[1] 5.843333
> sd(f$Sepal.Length)
[1] 0.8280661
> split.screen(c(2,2))
[1] 1 2 3 4
>screen(1)
> hist(f$Sepal.Length,prob=T)
> stem(f$Sepal.Length)
The decimal point is 1 digit(s) to the left of the |
42 | 0
44 | 0000
46 | 000000
48 | 00000000000
50 | 0000000000000000000
52 | 00000
54 | 0000000000000
56 | 00000000000000
58 | 0000000000
60 | 000000000000
62 | 0000000000000
64 | 000000000000
66 | 0000000000
68 | 0000000
70 | 00
72 | 0000
74 | 0
76 | 00000
78 | 0
> screen(2)
> qqnorm(f$Sepal.Length)
> screen(3)
>plot(density(f$Sepal.Length))
>screen(4)
>curve(dnorm(x,mean(f$Sepal.Length),sd(f$Sepal.Length)),3,9)
Commentaire : l'histogramme, l'arbre, le qqplot (on pourrait rajouter le
boxplot) laissent penser que la distribution est à peu près symétrique et
proche d'une gaussienne. Si l'on rajoute dans le quatrième écran la courbe
de la densite N(m, s) on peut s'e convaincre assez facilement.
RQ : stem() n'est pas une fonction graphique, on ne peut donc pas
l'afficher dans une fenêtre graphique.
RQ : A la place de split.screen, on peut aussi utiliser par(mfrow=c(2,2))
ou layout(matrix(1 :4,2,2))
> rand=replicate(8,rnorm(nrow(f),mean(f$Sepal.Length),sd(f$Sepal.Length)))
>rand2=cbind(rand,f$Sepal.Length)
> par(mfrow=c(3,3))
> apply(rand2,2,hist)
> par(mfrow=c(3,3))
> apply(rand2,2,qqnorm)
> de=apply(rand2,2,density)
> par(mfrow=c(3,3))
> lapply(de, plot)
RQ : par() remplit en ligne
Exercice 2 :
> l=list(rnorm(10),rnorm(10),rnorm(10), rnorm(100),rnorm(100),rnorm(100),
rnorm(1000),rnorm(1000),rnorm(1000))
> par(mfrow=c(3,3))
> lapply(l,hist)
Commentaire : On voit que l'histogramme converge vers la fonction de
densite de la loi normale lorsque n grandit, à un facteur d'echelle pres
> l=list(rchisq(100,2),rchisq(100,2),rchisq(100,2),
rchisq(1000,2),rchisq(1000,2),rchisq(1000,2),...)
> par(mfrow=c(2,3))
>d= lapply(l,density)
> lapply(d,plot)
même conclusion, on converge vers la densite de la loi du chi2(2)
Exercice 3 :
> library("cluster")
> a=airquality
> t=cut(a$Temp,breaks=3)
> coplot(a$Ozone~a$Solar.R|t)
Commentaire : Au plus la température est élevée, au plus les deux variables
sont corrélées positivement.