y.normal=rnorm(168) #;y.normal
hist(y.normal,freq=F)
magaussienne=function(x){return(dnorm(x))}
plot(magaussienne,min(y.normal),max(y.normal),col="red",add=TRUE)
qqny.normal=qqnorm(y.normal)
names(qqny.normal)
qqny.normal$x
qqny.normal$y



hist(qqny.normal$x,freq=F)
# On reaffiche...
qqny.normal=qqnorm(y.normal)
qqline(y.normal)
qqly.normal=qqline(y.normal, datax = FALSE, distribution = qnorm,
       probs = c(0.25, 0.75), qtype = 7)
## names(qqly.normal) ## donne NULL
## qqly.normal   ## donne NULL
qnorm(0.25);qnorm(0.75)
sort(y.normal)[168/4];sort(y.normal)[168*3/4]

##-------------------------------------
## On recommence avec une normale 18.73155 1.919205
n=168
mu=18.73155;mu
sig=1.976967;sig
y.musig=rnorm(n,mu,sig);y.musig
hist(y.musig,freq=F)
magaussienne=function(x){return(dnorm(x,mu,sig))}
plot(magaussienne,min(y.musig),max(y.musig),col="red",add=TRUE)
qqny.musig=qqnorm(y.musig)
# hist(qqny.musig$x,freq=F)
# On reaffiche...
# qqny.musig=qqnorm(y.musig)
qqline(y.musig, datax = FALSE, distribution = qnorm,
       probs = c(0.25, 0.75), qtype = 7)
qnorm(0.25,mu,sig);qnorm(0.75,mu,sig)
sort(y.musig)[n/4];sort(y.musig)[n*3/4]

##-------------------------------------
## On recommence avec y=NwHnd

library(MASS)  # MASS = Modern Applied Statistics with S
data(survey)   #lecture des données de  survey
survey.cc<-survey[complete.cases(survey),] #nettoyage de  survey
x<-survey.cc$Wr.Hnd  #x  prends la valeur de la première colonne de  survey.cc
y<-survey.cc$NW.Hnd  #y  prends la valeur de la deuxième colonne de  survey.cc
z<-survey.cc$Height  #z  prends la valeur de la troisième colonne de  survey.cc
summary(y)
muy=mean(y);muy   # retourne 18.80238
sigy=sd(y);sigy  # retourne 1.976967
##qqnorm(y, ...)
## Default S3 method:
##qqnorm(y, ylim, main = "Normal Q-Q Plot",
##       xlab = "Theoretical Quantiles", ylab = "Sample Quantiles",
##       plot.it = TRUE, datax = FALSE,...)
##----------- pour faires des figures sur i(=1) lignes et j(=2) colonnes
##x11()
##par(mfrow=c(1,2))
##--------------------------------------
qqy=qqnorm(y)
names(qqy)
qqy$x
sort(qqy$x)
plot(qqy$x,y)
#-----------------------------------
## On peut aussi comparer les lois des deux caractères
qqplot(x,y)

#avec des echantillons simulés c'est bien plus mauvais!
qqplot(rnorm(n),rnorm(n))

#------------------------------------------------
# comment sont calculés les quantiles normaux dans qqnorm(y)
qqnorm(y)
qqline(y, datax = FALSE, distribution = qnorm,
       probs = c(0.25, 0.75), qtype = 7)

n=length(y);n
probas=((1:n)-0.5)/n;probas
xq.normal=qnorm(probas);xq.normal

qqxxy=qqplot(xq.normal,y)
qqline(y,datax = FALSE,distribution = qnorm,
       probs = c(0.25, 0.75), qtype = 7)

xq.normal-sort(qqy$x)



### Rubber   ####################
#Lecture des données de l'exemple des prix du caoutchouc dans rubber.csv
rubber<-read.csv2(file.choose())
head(rubber)
summary(rubber)
rubber.cc<-rubber[complete.cases(rubber),]
head(rubber.cc)
#les prix sont en THB/kg
plot(rubber$Prices,type="l")
plot(rubber$Return,type="l")
hist(rubber$Prices)
hist(rubber$Return)
x<-rubber$Prices
length(x)
y<-rubber.cc$Return
qqnorm(y)
qqline(y)





# -------------------------------------------
# exemple de syntaxe donné par ?qqplot
qqplot(x,y, plot.it = TRUE, xlab = deparse(substitute(x)),
       ylab = deparse(substitute(y)))


