library(tibble) library(tidyr) library(dplyr) library(ggplot2) library(trend) library(calibrate) #POUR EXTRAIRE LA PROBABILITE D'APPARITION DU DOLLAR SPOT, température, humidité et nombre de jour où T>20°C et h>70%---------------------------------------------------------------------------- proba <-function(numer_stat,years){ filename <- "synop.csv" data <- read.csv(filename,header=TRUE,sep=";") data_st=data %>% dplyr::filter(numer_sta == numer_stat & year == years) %>% dplyr::select(numer_sta,date,year,month,day,hour, t, u) data1=data_st %>% dplyr::summarise(mean_t=mean(as.numeric(t))) data_f= data_st %>% dplyr::group_by(year,month,day) %>% dplyr::summarise(mean_t = mean(as.numeric(as.vector(t)), na.rm=TRUE), mean_u = mean(as.numeric(as.vector(u)), na.rm=TRUE)) #data_f$date <- as.Date(paste("2018",data_f$month,data_f$day,sep="-"), "%Y-%m-%d") data_f$date <- paste(data_f$month,data_f$day,sep="-") mt5d=rep(0,dim(data_f)[1]) data_f$mt5d=mt5d data_f$mu5d=mt5d data_f$prob=mt5d nb_j=0 #initialisation du nombre de jour de l'année où T>20°C et h>70% for (i in 1:dim(data_f)[1]){ if(i<5){ data_f$mt5d[i]=0 data_f$mu5d[i]=0 } else{ data_f$mt5d[i]=mean(data_f$mean_t[(i-4):i])-273.15 data_f$mu5d[i]=mean(data_f$mean_u[(i-4):i]) } } data_f$logit = -11.4041+(0.0894*as.numeric(as.vector(data_f$mu5d)))+(0.1932*as.numeric(as.vector(data_f$mt5d))) for (i in 1:dim(data_f)[1]){ if(data_f$mt5d[i]<=10|data_f$mt5d[i]>=35){ data_f$prob[i]=0 } else{ if(data_f$mt5d[i]>20 & data_f$mu5d[i]>70){ nb_j=nb_j+1 } data_f$prob[i] = (exp(as.numeric(as.vector(data_f$logit[i])))/(1+exp(as.numeric(as.vector(data_f$logit[i])))))*100 } } date=as.Date(data_f$date,"%m-%d") t=as.numeric(unlist((data_f["mt5d"]))) u=as.numeric(unlist((data_f["mu5d"]))) prob=as.numeric(unlist((data_f["prob"]))) listresult=list(date,prob,t,u,nb_j) return(listresult) } #--------------------------------------------------------------------------------------------------------------------------------------------- #POUR EXTRAIRE LES MOYENNES DE DONNEES DE TEMPERATURES/HUMIDITE RELATIVE---------------------------------------------------------------------------------------- temphumid <-function(numer_stat,years){ filename <- "synop.csv" data <- read.csv(filename,header=TRUE,sep=";") data_st=data %>% filter(numer_sta == numer_stat & year == years) %>% select(numer_sta,date,year,month,day,hour, t, u) data1=data_st %>% summarise(mean_t=mean(as.numeric(t))) data_f= data_st %>% group_by(year,month,day) %>% summarise(mean_t = mean(as.numeric(as.vector(t)), na.rm=TRUE), mean_u = mean(as.numeric(as.vector(u)), na.rm=TRUE)) #data_f$date <- as.Date(paste("2018",data_f$month,data_f$day,sep="-"), "%Y-%m-%d") data_f$date <- paste(data_f$month,data_f$day,sep="-") #write.table(data_f, file = "MyData2.csv",sep = ";") date=as.Date(data_f$date,"%m-%d") t=as.numeric(unlist((data_f["mean_t"]))) u=as.numeric(unlist((data_f["mean_u"]))) listresult=list(date,t,u) return(listresult) } #--------------------------------------------------------------------------------------------------------------------------------- #Fonction d'extration des vecteurs pour prêts pour l'affichage :------------------------------------------------ #Calcul les fonctions de répartition pour les 20% de dollar spot et la moyenne d'apparition statprob=function(prob){ frep=ecdf(prob[[2]]) #Fonction de répartition de la proba d'avoir du dollar spot frepds=(1-frep(20))*100 meands=mean(prob[[2]],na.rm=TRUE) #Moyennes des probabilités de DS #print(1-frep(20)) #Proba d'avoir plus de 20% de dollar spot #print(summary(prob[[2]])) #Statistiques descriptives return(rbind(frepds, meands)) } #Extrait les moyennes d'humidité, température, proba d'avoir plus de 20°C/plus de 80% meanTU=function(prob){ frept=ecdf(prob[[2]]) #Fonction de répartition des températures freph=ecdf(prob[[3]]) #Fonction de répartition des humidités meant=mean(prob[[2]],na.rm=TRUE) #Moyennes de températures meanh=mean(prob[[3]],na.rm=TRUE) #Moyenne des humidités freptempt=(1-frept(293.15))*100 #Proba d'avoir plus que 20°C freptemph=(1-freph(80))*100 #Proba d'avoir plus que 80% return(rbind(freptempt, meant,freptemph,meanh)) } #Automatisation gros jeu de données #A)Probabilité d'apparition de la maladie prob_data=function(station,an_d,an_f){ for (i in an_d:an_f){ prob=proba(station,i) #Extraction des données de probabilité frep=statprob(prob) #Dans le cas où on cherche la fréquence de proba où le risque est supérieur à 20% print(frep) #return(frep) } } #Création d'une matrice avec les vecteurs dates, proba et moyenne, résultat final meanTU_data=function(station,an_d,an_f){ date=c(an_d:an_f) #Initialisation vecteur date tempe=c(an_d:an_f) #Initialisation vecteur proba de température >20°C mtempe=c(an_d:an_f) #Initialisation vecteur moyennes de températures humid=c(an_d:an_f) #Initialisation vecteur proba d'humidité >80% mhumid=c(an_d:an_f) #Initialisation moyennes humidités risque=c(an_d:an_f) #Initialisation des probabilités d'avoir 20% de DS mrisque=c(an_d:an_f) #Initialisation moyennes proba d'apparition de DS nb_j=c(an_d:an_f) #Initialisation vecteur avec nombre de jour ou T>20°C et h>80% for (i in an_d:an_f){ print(i) #Probabilité d'apparition de maladie prob=proba(station,i) #Extraction des données de probabilité d'apparition du dollar spot frepds=statprob(prob) #Dans le cas où on cherche la fréquence de proba où le risque est supérieur à 20% risque[i-an_d+1]=frepds[1,] #Restitution dans un nouveau vecteur mrisque[i-an_d+1]=frepds[2,]#Restitution dans un nouveau vecteur nb_j[i-an_d+1]=prob[[5]] #Humidité, Température thum=temphumid(station,i) #Extraction des données resTU=meanTU(thum) #Fonction de répartition et moyenne tempe[i-an_d+1]=resTU[1,] #Restitution dans un nouveau vecteur mtempe[i-an_d+1]=resTU[2,] #Restitution dans un nouveau vecteur humid[i-an_d+1]=resTU[3,] mhumid[i-an_d+1]=resTU[4,] #print(mtu) } plot(date,tempe) return(rbind(date, tempe,mtempe,humid,mhumid,risque,mrisque,nb_j)) #Création d'une matrice avec les vecteurs dates, proba et moyenne } #FIN DES FONCTIONS POUR PREPARER LES VECTEURS A L'AFFICHAGE--------------------------------------------------- #FONCTIONS SUR DONNEES EXTRAITES DANS L'ENVIRONNEMENT (DIRECTEMENT A PARTIR DU NOM DES VILLES) #Moyenne globale mois par mois moyglob=function(param){ moy=rep(0,length(caen[1,])) #Caen ou n'importe quelle autre ville nomvilles=c("ajaccio","bordeaux","caen","lille","limoges","lyon","marseille","montelimar","nancy","nice","orly","perpignan","ploumanach","rennes","strasb","tarbes","toulouse","tours","bourges","nantes","mulhouse") for (i in 1:length(caen[1,])){ moy[i]=mean(ajaccio[param,i],bordeaux[param,i],caen[param,i],lille[param,i],limoges[param,i],lyon[param,i],marseille[param,i],montelimar[param,i],nancy[param,i],nice[param,i],orly[param,i],perpignan[param,i],ploumanach[param,i],rennes[param,i],strasb[param,i],tarbes[param,i],toulouse[param,i],tours[param,i],bourges[param,i],nantes[param,i],mulhouse[param,i]) } date=caen[1,] ord=titraxe(param) mk=mk.test(moy)[2] if (mk<0.05){ mkinfo="tend. sign." } else{ mkinfo="pas de tend." } plot(date,moy,type="l",lty=1,lwd = 2,pch=16, xlab="Date",ylab=ord,xaxt="n",main=paste("Evolution sur l'ensemble des stations de",ord,"de 1997 à 2018")) axis(1,1996:2019,las=2) abline(lm(moy ~date)$coefficients, col="red",lwd=2) #Affichage R² coeff = lm(moy~date)$coefficients reg=lm(moy~date) text(1998.5,(coeff[2]*2000)+coeff[1],paste("R²=",round(summary(reg)$r.squared,3),"\n",mkinfo),col="red") } #Calcul moyenne d'un paramètres depuis 1997 jusqu'à 2019 moyparam=function(ville,param){ moy=mean(ville[param,]) #print(paste(deparse(substitute(ville)),"=",moy)) return(moy) } #Histogramme du paramètre depuis 1997 en fonction des villes, retourne un vecteur histfrance=function(param){ moyville=rep(0,21) majaccio=moyparam(ajaccio,param) moyville[1]=majaccio mbordeaux=moyparam(bordeaux,param) moyville[2]=mbordeaux mcaen=moyparam(caen,param) moyville[3]=mcaen mlille=moyparam(lille,param) moyville[4]=mlille mlimoges=moyparam(limoges,param) moyville[5]=mlimoges mlyon=moyparam(lyon,param) moyville[6]=mlyon mmarseille=moyparam(marseille,param) moyville[7]=mmarseille mmontelimar=moyparam(montelimar,param) moyville[8]=mmontelimar mnancy=moyparam(nancy,param) moyville[9]=mnancy mnice=moyparam(nice,param) moyville[10]=mnice morly=moyparam(orly,param) moyville[11]=morly mperpignan=moyparam(perpignan,param) moyville[12]=mperpignan mploumanach=moyparam(ploumanach,param) moyville[13]=mploumanach mrennes=moyparam(rennes,param) moyville[14]=mrennes mstrasb=moyparam(strasb,param) moyville[15]=mstrasb mtarbes=moyparam(tarbes,param) moyville[16]=mtarbes mtoulouse=moyparam(toulouse,param) moyville[17]=mtoulouse mtours=moyparam(tours,param) moyville[18]=mtours mbourges=moyparam(bourges,param) moyville[19]=mbourges mnantes=moyparam(nantes,param) moyville[20]=mnantes mmulhouse=moyparam(mulhouse,param) moyville[21]=mmulhouse #moyville=365*moyville/100 names(moyville)=c("ajaccio","bordeaux","caen","lille","limoges","lyon","marseille","montelimar","nancy","nice","orly","perpignan","ploumanach","rennes","strasb","tarbes","toulouse","tours","bourges","nantes","mulhouse") #print(names(moyville)) #moyvilles=c(majaccio,mbordeaux,mcaen,mlille,mlimoges,mlyon,mmarseille,mmontelimar,mnancy,mnice,morly,mperpignan,mploumanach,mrennes,mstrasb,morly,mtarbes,mtoulouse,mtours) #barplot(sort(moyville,decreasing=TRUE),las=2,ylim=c(min(moyville),max(moyville)+2), xpd = FALSE) barplot(sort(moyville,decreasing=TRUE),las=2) #barplot(sort(moyville,decreasing=TRUE),las=2,axes=FALSE) #axis(2,min(moyville):max(moyville),labels=min(moyville):max(moyville)) return(moyville) } #Test d'homogénéités #MK Test sur un paramètre mktest=function(param){ mkville=rep(0,21) mkville[1]=as.numeric(mk.test(ajaccio[param,])[2]) mkville[2]=as.numeric(mk.test(bordeaux[param,])[2]) mkville[3]=as.numeric(mk.test(caen[param,])[2]) mkville[4]=as.numeric(mk.test(lille[param,])[2]) mkville[5]=as.numeric(mk.test(limoges[param,])[2]) mkville[6]=as.numeric(mk.test(lyon[param,])[2]) mkville[7]=as.numeric(mk.test(marseille[param,])[2]) mkville[8]=as.numeric(mk.test(montelimar[param,])[2]) mkville[9]=as.numeric(mk.test(nancy[param,])[2]) mkville[10]=as.numeric(mk.test(nice[param,])[2]) mkville[11]=as.numeric(mk.test(orly[param,])[2]) mkville[12]=as.numeric(mk.test(perpignan[param,])[2]) mkville[13]=as.numeric(mk.test(ploumanach[param,])[2]) mkville[14]=as.numeric(mk.test(rennes[param,])[2]) mkville[15]=as.numeric(mk.test(strasb[param,])[2]) mkville[16]=as.numeric(mk.test(tarbes[param,])[2]) mkville[17]=as.numeric(mk.test(toulouse[param,])[2]) mkville[18]=as.numeric(mk.test(tours[param,])[2]) mkville[19]=as.numeric(mk.test(bourges[param,])[2]) mkville[20]=as.numeric(mk.test(nantes[param,])[2]) mkville[21]=as.numeric(mk.test(mulhouse[param,])[2]) names(mkville)=c("ajaccio","bordeaux","caen","lille","limoges","lyon","marseille","montelimar","nancy","nice","orly","perpignan","ploumanach","rennes","strasb","tarbes","toulouse","tours","bourges","nantes","mulhouse") #print(mkville) return(mkville) #barplot(sort(mkville,decreasing=TRUE),las=2) } #MK Test sur tous les paramètres et sortie en dataframe mkglobal=function(){ villes=rownames(caen) tempe=rep(0,(length(rownames(caen))-1)) #Initialisation vecteur proba de température >20°C mtempe=rep(0,(length(rownames(caen))-1)) #Initialisation vecteur moyennes de températures humid=rep(0,(length(rownames(caen))-1)) #Initialisation vecteur proba d'humidité >80% mhumid=rep(0,(length(rownames(caen))-1)) #Initialisation moyennes humidités risque=rep(0,(length(rownames(caen))-1)) #Initialisation des probabilités d'avoir 20% de DS mrisque=rep(0,(length(rownames(caen))-1)) #Initialisation moyennes proba d'apparition de DS nb_j=rep(0,(length(rownames(caen))-1)) #Initialisation vecteur avec nombre de jour ou T>20°C et h>80% tempe=mktest(2) mtempe=mktest(3) humid=mktest(4) mhumid=mktest(5) risque=mktest(6) mrisque=mktest(7) nb_j=mktest(8) res=rbind(tempe,mtempe,mhumid,risque,mrisque,nb_j) return(res) } #FIN FONCTION SUR DONNEES EXTRAITES------------------------------------------------------------ #FONCTIONS AFFICHAGE FINAL -------------------------------------------------------------------------------------------- titraxe=function(axe){ if (axe==1){ nomaxe="Date" } if (axe==2){ nomaxe="proba. T>20°C / 5j. (%)" } if (axe==3){ nomaxe="moyenne T / 5j. (C°)" } if (axe==4){ nomaxe="proba. humid.>80% / 5j. (%)" } if (axe==5){ nomaxe="moyenne humid. / 5j. (%)" } if (axe==6){ nomaxe="proba. d'avoir un risque de dollar spot >20% (%)" } if (axe==7){ nomaxe="Moyenne risque d'apparition du dollar spot (%)" } if (axe==8){ nomaxe="Nombre de jours où T>20°C et humid. >70%" } return(nomaxe) } plotxy=function(paramx,paramy,ville,yinf,ysup,xinf,xsup){ #Vecteurs paramètres x=ville[paramx,] y=ville[paramy,] abscisse=titraxe(paramx) ord=titraxe(paramy) mk=mk.test(ville[paramy,])[2] if (mk<0.05){ mkinfo="tend. sign." } else{ mkinfo="pas de tend." } plot(x,y,type="l",col="black",lty=1,lwd = 2,pch=16, xlab=abscisse,ylab=ord,xaxt="n",ylim=c(yinf,ysup),xlim=c(xinf,xsup)) #Abscisses à la verticale axis(1,1996:2019,las=2) #Droite de régression linéaire abline(lm(y ~x)$coefficients, col="red",lwd=2) #Affichage R² coeff = lm(y~x)$coefficients reg=lm(y~x) text(1998.5,(coeff[2]*2000)+coeff[1],paste("R²=",round(summary(reg)$r.squared,3),"\n",mkinfo),col="red") } addxy=function(paramx,paramy,ville){ #Vecteurs paramètres x=ville[paramx,] y=ville[paramy,] abscisse=titraxe(paramx) ord=titraxe(paramy) mk=mk.test(ville[paramy,])[2] if (mk<0.05){ mkinfo="tend. sign." } else{ mkinfo="pas de tend." } colgraph=rgb(runif(1),runif(1),runif(1)) colreg=rgb(runif(1),runif(1),runif(1)) lines(x,y,type="l",col=colgraph,lty=1,lwd = 2,pch=16) #Abscisses à la verticale #Droite de régression linéaire abline(lm(y ~x)$coefficients, col=colreg,lwd=2) #Affichage R² coeff = lm(y~x)$coefficients reg=lm(y~x) text(1998.5,(coeff[2]*2000)+coeff[1],paste("R²=",round(summary(reg)$r.squared,3),"\n",mkinfo),col=colreg) return(colgraph) } plot2graphxy=function(ville1,ville2,paramx,paramy){ maxville1y=max(ville1[paramy,]) minville1y=min(ville1[paramy,]) maxville2y=max(ville2[paramy,]) minville2y=min(ville2[paramy,]) maxy=max(maxville1y,maxville2y) miny=min(minville1y,minville2y) maxville1x=max(ville1[paramx,]) minville1x=min(ville1[paramx,]) maxville2x=max(ville2[paramx,]) minville2x=min(ville2[paramx,]) maxx=max(maxville1x,maxville2x) minx=min(minville1x,minville2x) plotxy(paramx,paramy,ville1,miny,maxy,minx,maxx) col2=addxy(paramx,paramy,ville2) legend("topleft", legend=c(deparse(substitute(ville1)), deparse(substitute(ville2))), col=c("black", col2), lty=c(1,1), cex=0.8) } plot3graphxy=function(ville1,ville2,ville3,paramx,paramy){ maxville1y=max(ville1[paramy,]) minville1y=min(ville1[paramy,]) maxville2y=max(ville2[paramy,]) minville2y=min(ville2[paramy,]) maxville3y=max(ville3[paramy,]) minville3y=min(ville3[paramy,]) maxy=max(maxville1y,maxville2y,maxville3y) miny=min(minville1y,minville2y,minville3y) maxville1x=max(ville1[paramx,]) minville1x=min(ville1[paramx,]) maxville2x=max(ville2[paramx,]) minville2x=min(ville2[paramx,]) maxville3x=max(ville3[paramx,]) minville3x=min(ville3[paramx,]) maxx=max(maxville1x,maxville2x,maxville3x) minx=min(minville1x,minville2x,minville3x) plotxy(paramx,paramy,ville1,miny,maxy,minx,maxx) col2=addxy(paramx,paramy,ville2) col3=addxy(paramx,paramy,ville3) legend("topleft", legend=c(deparse(substitute(ville1)), deparse(substitute(ville2)),deparse(substitute(ville3))), col=c("black", col2,col3), lty=c(1,1,1), cex=0.8) } #AFFICHE la probabilité d'apparition à plus de 20% du dollar spot dans une année donnée plotproba=function(prob){ plot(prob[[1]],prob[[2]],type="l",ylim=c(0,100),col="red", main="Probabilité d'apparition de Dollar Spot selon le modèle de Smith/Kerns",ylab="Proba. d'apparition du Dollar Spot (%)",xlab="Date",lty=1,lwd = 2) #v=c(1:length(prob[[1]])) #plot(v,prob[[2]],type="l",ylim=c(0,100),col=rgb(runif(5),runif(5),runif(5))) abline(h=20, col="black") } #affiche l'humidité ou température moyenne sur 5j. dans une année donnée plotparam=function(prob,param){ miny=min(prob[[param]]) maxy=max(prob[[param]]) if (param==3){ nomaxe="Moyenne Températures sur les 5 derniers jours (°C)" } if (param==4){ nomaxe="Moyenne Humidité sur les 5 derniers jours (%)" miny=40 maxy=100 } plot(prob[[1]],prob[[param]],type="l",ylim=c(miny,maxy),col="red",ylab=nomaxe,xlab="Date",lty=1,lwd = 2) } #Ajoute un graph à la fonction plotparam plus haut addplotparam=function(prob,param){ colgraph=rgb(runif(1),runif(1),runif(1)) lines(prob[[1]],prob[[param]],type="l",col=colgraph,lty=1,lwd = 2,pch=16) } #Ajoute un graph à la fonction plotproba lineproba=function(prob,color){ lines(prob[[1]],prob[[2]],type="l",col=color,lty=1,lwd = 1.5)#rgb(runif(5),runif(5),runif(5)) #v=c(1:length(prob[[1]])) #lines(v,prob[[2]],type="l",col=rgb(runif(5),runif(5),runif(5))) } #Ajouter une légende legende=function(coul1,coul2,coul3){ legend("topleft", legend=c("2018", "2017","2011"), col=c(coul1, coul2,coul3), lty=1:2, cex=0.8) } #FIN FONCTIONS AFFICHAGE FINAL-------------------------------------------------------------------------- #Données humidité / température extraites sur les 21 stations ajaccio=meanTU_data(7761,1997,2018) strasb=meanTU_data(7190,1997,2018) rennes=meanTU_data(7130,1997,2018) toulouse=meanTU_data(7630,1997,2018) bordeaux=meanTU_data(7510,1997,2018) lille=meanTU_data(7015,1997,2018) tours=meanTU_data(7240,1997,2018) lyon=meanTU_data(7240,1997,2018) orly=meanTU_data(7149,1997,2018) montelimar=meanTU_data(7577,1997,2018) marseille=meanTU_data(7650,1997,2018) perpignan=meanTU_data(7747,1997,2018) ploumanach=meanTU_data(7117,1997,2018) nice=meanTU_data(7690,1997,2018) tarbes=meanTU_data(7621,1997,2018) limoges=meanTU_data(7434,1997,2018) nantes=meanTU_data(7222,1997,2018) caen=meanTU_data(7027,1997,2018) nancy=meanTU_data(7181,1997,2018) montpellier=meanTU_data(7643,1997,2018) bourges=meanTU_data(7255,1997,2018) mulhouse=meanTU_data(7299,1997,2018) #Divers affichages graphiques à moduler selon les besoins : #16.01.19 Variable contenant des années extrêmes sur des localisation remarquables #Ploumanach, année de plus grosse épidémie : 2006 ploumamaxds=proba(7117,2009) plotparam(ploumamaxds,4) plotproba(ploumamaxds) #Ajaccio, année de la plus grosse épidémie : 2002 ajacciomaxds=proba(7761,2002) plotproba(ajacciomaxds) plotparam(ajacciomaxds,4) addplotparam(ploumamaxds,4) #Marseille, année la plus faible épidémie : 2017 marseilleminds=proba(7650,2017) addplotparam(marseilleminds,3) #Climat plus tempéré, Lyon, année moyenne : 2017 lyonmeands=proba(7240,2017) plotparam(lyonmeands,4) plotproba(lyonmeands) lines(ploumamaxds[[1]],ploumamaxds[[2]],type="l",col="green",lty=2,lwd = 2) addplotparam(lyonmeands,4) #Caen année moyenne (2009) caenmeands=proba(7027,2009) plotparam(caenmeands,3) addplotparam(ploumamaxds,3) legend("topleft", legend=c("Caen","Ploumanach"), col=c("red", "blue"), lty=c(1,1), cex=0.8) plotproba(caenmeands) lines(ploumamaxds[[1]],ploumamaxds[[2]],type="l",col="green",lty=2,lwd = 2) legend("topleft", legend=c("Caen","Ploumanach"), col=c("red", "green"), lty=c(1,2), cex=0.8) #Marseille/Nice année moyenne (2009) marseilleds=proba(7650,2009) niceds=proba(7690,2009) par(mfrow=c(3,1)) plotparam(marseilleds,4) addplotparam(niceds,4) legend("topleft", legend=c("Marseille","Nice"), col=c("red", "black"), lty=c(1,1), cex=0.8) plotparam(marseilleds,3) addplotparam(niceds,3) legend("topleft", legend=c("Marseille","Nice"), col=c("red", "green"), lty=c(1,1), cex=0.8) plotproba(marseilleds) lines(niceds[[1]],niceds[[2]],type="l",col="green",lty=2,lwd = 2) legend("topleft", legend=c("Marseille","Nice"), col=c("red", "green"), lty=c(1,2), cex=0.8) #Nice 2000 (proba max) et Nice 2017 (proba min) niceds2000=proba(7690,2000) niceds2017=proba(7690,2017) par(mfrow=c(3,1)) plotproba(niceds2000) lines(niceds2017[[1]],niceds2017[[2]],type="l",col="green",lty=2,lwd = 2) legend("topleft", legend=c("2000","2017"), col=c("red", "green"), lty=c(1,2), cex=0.8) plotparam(niceds2017,4) addplotparam(niceds2000,4) legend("topleft", legend=c("2017","2000"), col=c("red", "black"), lty=c(1,1), cex=0.8) #Graphique de comparaison des humidités: plotparam(ploumamaxds,3) addplotparam(ajacciomaxds,3) addplotparam(lyonmeands,4) #12.01.19 Affichage final des extractions: # Retour de la fonction rbind(date, tempe,mtempe,humid,mhumid,risque,mrisque,nb_j) # 1 : date # 2 : probabilité que T>20°C sur 5 jours consécutifs # 3 : moyenne de température sur 5 jours consécutifs # 4 : probabilité d'avoir une humidité > 80% # 5 : moyenne d'humidité sur 5 jours consécutifs # 6 : probabilité d'avoir un risque de dollar spot de plus de 20% i.e nombre de jours où le risque est >20% (nécessite un traitement) # 7 : moyenne du risque par jour # 8 : nombre de jour de l'année où T>20°C et h>70% (jours favorables au dollar spot) par(mfrow=c(2,2)) ville=marseille plotxy(1,6,ville,0,51) plotxy(1,8,ville,0,20) plotxy(1,3,ville,0,30) plotxy(1,5,ville,50,90) addxy(1,6,lyon) addxy(1,6,ploumanach) addxy(1,6,rennes) addxy(1,6,ajaccio) #Comparaison d'un paramètre depuis 1997 pour 2 villes plot2graphxy(marseille,nice,1,7) #Comparaison d'un paramètre depuis 1997 pour 3 villes plot3graphxy(caen,lyon,marseille,1,6) #Histogrammes des moyennes depuis 1997 pour différents paramètres histfrance(3) #Affichage des moyennes sur l'ensemble des stations depuis 1997 moyglob(7) #Tests d'homogénéité sur les données globales homog=mkglobal() #Affichage paramètre en fonction de coordonnées géographiques plot(coordxy$longitude,histfrance(6),xlab="latitude",ylab="moyenne probabilité apparition dollar spot (%)",pch=16, col="blue") textxy(coordxy$longitude, histfrance(6), names(histfrance(3)),cex = 0.7)