From afc8d7e997023004fb1954cda07512d3a5471d8f Mon Sep 17 00:00:00 2001 From: Marc Oudart Date: Fri, 10 Apr 2020 20:15:57 +0200 Subject: [PATCH] =?UTF-8?q?D=C3=A9but=20module=203=20et=20essais=20noteboo?= =?UTF-8?q?ks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Journal-de-bord_MOOC-RR_Marc-Oudart_2.Rmd | 9 + .../exo4/Calcul_telephone.Rmd | 2 +- module2/exo4/Calcul_telephone.pdf | Bin 0 -> 301442 bytes .../exo4/Calcul_t\303\251l\303\251phone.log" | 2 +- module2/exo4/test notebook.Rmd | 411 +++- module2/exo4/test notebook.nb.html | 478 ++++- module2/exo4/test-notebook.Rmd | 415 ++++ module2/exo4/test-notebook.knit.md | 620 ++++++ module2/exo4/test-notebook.pdf | Bin 0 -> 281576 bytes module2/exo4/test-notebook.tex | 853 ++++++++ module2/exo4/test-notebook.utf8.md | 620 ++++++ .../figure-latex/unnamed-chunk-10-1.pdf | Bin 0 -> 4436 bytes .../figure-latex/unnamed-chunk-11-1.pdf | Bin 0 -> 4408 bytes .../figure-latex/unnamed-chunk-12-1.pdf | Bin 0 -> 4438 bytes .../figure-latex/unnamed-chunk-13-1.pdf | Bin 0 -> 4464 bytes .../figure-latex/unnamed-chunk-14-1.pdf | Bin 0 -> 4390 bytes .../figure-latex/unnamed-chunk-19-1.pdf | Bin 0 -> 4643 bytes .../figure-latex/unnamed-chunk-2-1.pdf | Bin 0 -> 4324 bytes .../figure-latex/unnamed-chunk-20-1.pdf | Bin 0 -> 4314 bytes .../figure-latex/unnamed-chunk-3-1.pdf | Bin 0 -> 4318 bytes .../figure-latex/unnamed-chunk-4-1.pdf | Bin 0 -> 4398 bytes .../figure-latex/unnamed-chunk-5-1.pdf | Bin 0 -> 4335 bytes .../figure-latex/unnamed-chunk-6-1.pdf | Bin 0 -> 4338 bytes module3/Analyse syndrome grippal.Rmd | 122 ++ module3/incidence-PAY-3.csv | 1851 +++++++++++++++++ 25 files changed, 5366 insertions(+), 17 deletions(-) rename "module2/exo4/Calcul_t\303\251l\303\251phone.Rmd" => module2/exo4/Calcul_telephone.Rmd (100%) create mode 100644 module2/exo4/Calcul_telephone.pdf create mode 100644 module2/exo4/test-notebook.Rmd create mode 100644 module2/exo4/test-notebook.knit.md create mode 100644 module2/exo4/test-notebook.pdf create mode 100644 module2/exo4/test-notebook.tex create mode 100644 module2/exo4/test-notebook.utf8.md create mode 100644 module2/exo4/test-notebook_files/figure-latex/unnamed-chunk-10-1.pdf create mode 100644 module2/exo4/test-notebook_files/figure-latex/unnamed-chunk-11-1.pdf create mode 100644 module2/exo4/test-notebook_files/figure-latex/unnamed-chunk-12-1.pdf create mode 100644 module2/exo4/test-notebook_files/figure-latex/unnamed-chunk-13-1.pdf create mode 100644 module2/exo4/test-notebook_files/figure-latex/unnamed-chunk-14-1.pdf create mode 100644 module2/exo4/test-notebook_files/figure-latex/unnamed-chunk-19-1.pdf create mode 100644 module2/exo4/test-notebook_files/figure-latex/unnamed-chunk-2-1.pdf create mode 100644 module2/exo4/test-notebook_files/figure-latex/unnamed-chunk-20-1.pdf create mode 100644 module2/exo4/test-notebook_files/figure-latex/unnamed-chunk-3-1.pdf create mode 100644 module2/exo4/test-notebook_files/figure-latex/unnamed-chunk-4-1.pdf create mode 100644 module2/exo4/test-notebook_files/figure-latex/unnamed-chunk-5-1.pdf create mode 100644 module2/exo4/test-notebook_files/figure-latex/unnamed-chunk-6-1.pdf create mode 100644 module3/Analyse syndrome grippal.Rmd create mode 100644 module3/incidence-PAY-3.csv diff --git a/journal/Journal-de-bord_MOOC-RR_Marc-Oudart_2.Rmd b/journal/Journal-de-bord_MOOC-RR_Marc-Oudart_2.Rmd index 2eaa0e9..0e9f8a2 100644 --- a/journal/Journal-de-bord_MOOC-RR_Marc-Oudart_2.Rmd +++ b/journal/Journal-de-bord_MOOC-RR_Marc-Oudart_2.Rmd @@ -226,7 +226,16 @@ Tout est dans le dossier des modules 2. Notamment le fichier de l'exercice 4. - Exercice 5 : +Done dans le dossier associé. +# Module 3 : La main à la pate - une analyse réplicable +## L'étude de cas : Grippe +Téléchargement des données hebdomadaires des cas de syndrome grippaux depuis 1985 sur le site du [réseau sentinnelles](https://www.sentiweb.fr/france/fr/?page=table). + +S'il y a des données manquantes dans le fichier --> __NE JAMAIS LES MODIFIER A LA MAIN mais toujours dans du code pour les personnes voulant réutiliser l'étude puissent comprendre pourquoi la ligne a été supprimée.__ + +# Importation des données +Voir le document RMardown _Analyse syndrome grippal_. -

This is an R Markdown Notebook. When you execute code within the notebook, the results appear beneath the code.

-

Try executing this chunk by clicking the Run button within the chunk or by placing your cursor inside it and pressing Ctrl+Shift+Enter.

+
+

L’étude

+

Cette étude consiste à évaluer mon usage du téléphone depuis le 25 février 2020 pour établir un lien entre la mise en place du confinement le 17 mars 2020 et mon usage téléphonique.

+
+
+

Le fichier de données

+

Le fichier de données ci-après est une table représentant différents paramètres chaque jour depuis le 25/02/2020 :
+- Le nombre d’appels émis : Appels_emis
+- Le nombre d’appels reçus : Appels_recus (Comprends aussi les appels manqués)
+- La durée totale des appels de la journée en seconde : Duree_appels
+- Le nombre de messages reçus : Messages_recus
+- Le nombre de messages envoyés : Messages_envoyes

+

Le fichier peut être importé comme ceci :

+ + + +
df<-read.csv("C:/Users/Marc/Desktop/MOOC/mooc-rr/module2/exo4/Book1.csv", sep = ";")
+head(df)
+ + + +
+
+

L’analyse de l’usage téléphonique

+

Tout d’abord on peut plotter les différents paramètres au cours du temps pour se donner un aperçu de mon usage :

+
    +
  1. Les appels émis
  2. +
+ + + +
barplot(df$Appels_emis, names.arg = df$ï..Date)
+ + + +

Les dates sont mal positionnées mais c’est pas grave. Il semble que j’ai beaucoup appelé autour de la date du 17 mars.

+
    +
  1. Appels reçus
  2. +
+ + + +
barplot(df$Appels_recus, names.arg = df$ï..Date)
+ + + +

Il semble que j’ai reçu beaucoup d’appels la veille du 17 mars puis que j’ai reçu + d’appels en général après cette période qu’avant.

+
    +
  1. Durée appel
  2. +
+ + + +
barplot(df$Duree_appel, names.arg = df$ï..Date)
+ + + +

Là c’est très voyant. J’ai passé beaucoup de temps au téléphone après le 16 mars comparé à avant (sauf 2 fois).

+
    +
  1. Messages reçus
  2. +
+ + + +
barplot(df$Messages_recus, names.arg = df$ï..Date)
+ + + +
    +
  1. Messages envoyés
  2. +
+ + + +
barplot(df$Messages_envoyes, names.arg = df$ï..Date)
+ + + +

Pour les messages, la tendance est inverse aux appels : je reçois et envoie - de sms depuis le 17 mars comparé à avant.
+J’ai eput être changé mon usage de l’un à l’autre.
+Sauf autour du 16-17 mars où j’ai beaucoup communiqué.

+
+

Représentation des moyennes avant et après le 17 mars

+

Je vais rajouté une colonne pour indiqué avant ou après le 17 mars.

+ + + +
add<-c(rep("avant",21), rep("après",21))
+df$add<-add
+ + + +

Oui je sais c’est vraiment nul mais en gros je sais qu’il y a 42 lignes dans mon tableau (je peux le vérifier avec length(df$Appels_emis) par exemple) et que le 17 mars est la 22ème ligne.
+J’ai donc ajouté 21 fois “avant” et 21 fois “après” sur une colonne dans mon data frame df.

+

Maintenant on va pouvoir calculer les moyennes des paramètres avant et après (inclus) le 17 mars 2020.

+ + + +
m_appels_emis<-c(mean(df$Appels_emis[df$add=="avant"]), mean(df$Appels_emis[df$add=="après"]))
+m_appels_recus<-c(mean(df$Appels_recus[df$add=="avant"]), mean(df$Appels_recus[df$add=="après"]))
+m_duree_appel<-c(mean(df$Duree_appel[df$add=="avant"]), mean(df$Duree_appel[df$add=="après"]))
+m_messages_recus<-c(mean(df$Messages_recus[df$add=="avant"]), mean(df$Messages_recus[df$add=="après"]))
+m_messages_envoyes<-c(mean(df$Messages_envoyes[df$add=="avant"]), mean(df$Messages_envoyes[df$add=="après"]))
+m_appels_emis
+m_appels_recus
+m_messages_recus
+m_messages_envoyes
+ + + +

Et les écarts-types :

+ + + +
sd_appels_emis<-c(sd(df$Appels_emis[df$add=="avant"]), sd(df$Appels_emis[df$add=="après"]))
+sd_appels_recus<-c(sd(df$Appels_recus[df$add=="avant"]), sd(df$Appels_recus[df$add=="après"]))
+sd_duree_appel<-c(sd(df$Duree_appel[df$add=="avant"]), sd(df$Duree_appel[df$add=="après"]))
+sd_messages_recus<-c(sd(df$Messages_recus[df$add=="avant"]), sd(df$Messages_recus[df$add=="après"]))
+sd_messages_envoyes<-c(sd(df$Messages_envoyes[df$add=="avant"]), sd(df$Messages_envoyes[df$add=="après"]))
+ + + +

Maintenant on va pouvoir plotter les moyennes de tous les paramètres avant et après (inclus) le 17 mars 2020.
+Le mieux c’est d’utiliser ggplot.

+ + + +
#install.packages("ggplot2")
+library(ggplot2)
+a<-data.frame(m_appels_emis, sd_appels_emis, c("aa", "ap"))
+ggplot(a, aes(x = a$c..aa....ap.., y = m_appels_emis))+
+    geom_bar(stat = "identity")+
+    geom_errorbar(ymin = a$m_appels_emis-a$sd_appels_emis, ymax = a$m_appels_emis+a$sd_appels_emis)+ 
+    ylim(-1,4)+
+    labs(title="Appels émis")
+ + + + +
b<-data.frame(m_appels_recus, sd_appels_recus, c("aa", "ap"))
+ggplot(b, aes(x = b$c..aa....ap.., y = b$m_appels_recus))+
+    geom_bar(stat = "identity")+
+    geom_errorbar(ymin = b$m_appels_recus-b$sd_appels_recus, ymax = b$m_appels_recus+b$sd_appels_recus)+ 
+    ylim(-1,3)+
+    labs(title="Appels recus")
+ + + + +
c<-data.frame(m_duree_appel, sd_duree_appel, c("aa", "ap"))
+ggplot(c, aes(x = c$c..aa....ap.., y = c$m_duree_appel))+
+    geom_bar(stat = "identity")+
+    geom_errorbar(ymin = c$m_duree_appel-c$sd_duree_appel, ymax = c$m_duree_appel+c$sd_duree_appel)+ 
+    ylim(-500,2000)+
+    labs(title="Duree appel")
+ + + + +
d<-data.frame(m_messages_envoyes, sd_messages_envoyes, c("aa", "ap"))
+ggplot(d, aes(x = d$c..aa....ap.., y = d$m_messages_envoyes))+
+    geom_bar(stat = "identity")+
+    geom_errorbar(ymin = d$m_messages_envoyes-d$sd_messages_envoyes, ymax = d$m_messages_envoyes+d$sd_messages_envoyes)+ 
+    ylim(0,12)+
+    labs(title="Messages envoyes")
+ + + + +
e<-data.frame(m_messages_recus, sd_messages_recus, c("aa", "ap"))
+ggplot(e, aes(x = e$c..aa....ap.., y = e$m_messages_recus))+
+    geom_bar(stat = "identity")+
+    geom_errorbar(ymin = e$m_messages_recus-e$sd_messages_recus, ymax = e$m_messages_recus+e$sd_messages_recus)+ 
+    ylim(-2,12)+
+    labs(title="Messages recus")
+ + + +

Bilan : On voit des augmentations dans les appels et une diminution dans les messages mais les écarts types sont énormes

+

A mon avis, rien n’est significatif mais on peut s’entrainer sur un cas.
+Comme il n’y a que 21 valeurs dans chaque groupe, je ne peux pas appliquer le théorème central limite. Je vais donc vérifier la distribution normale de chaque groupe ainsi que l’égalité des variances pour voir quel test statistique appliqué.
+Prenons comme exemple la durée de l’appel.

- -
plot(cars)
+ +
shapiro.test(df$Duree_appel[df$add=="avant"])
+shapiro.test(df$Duree_appel[df$add=="après"])
-

Add a new chunk by clicking the Insert Chunk button on the toolbar or by pressing Ctrl+Alt+I.

-

When you save the notebook, an HTML file containing the code and output will be saved alongside it (click the Preview button or press Ctrl+Shift+K to preview the HTML file).

-

The preview shows you a rendered HTML copy of the contents of the editor. Consequently, unlike Knit, Preview does not run any R code chunks. Instead, the output of the chunk when it was last run in the editor is displayed.

+

Les tests de Shapiro-Wilk sont significatifs donc les distributions ne sont pas normales.
+Utilisation de tests non paramétriques type Mann-Whitney :

+ + +
wilcox.test(df$Duree_appel[df$add=="avant"],df$Duree_appel[df$add=="après"])
+ + + +

Ah ben en fait la durée des appels a significativement augmentée après le 17 mars 2020. Je ne suis pas super fort en statistiques donc j’espère que c’est correct. Aussi, 21 échantillons par groupe c’est pas mal pour un test non paramétrique.

+

Du coup on va essayer de mettre une étoile sur le plot (ce qui n’est pas compris dans les fonctions ggplot).
+Pour cela on va donc tester le code d’un ami disponible sur Github.

+ + + +
#install.packages("devtools")
+library(devtools)
+#Besoin de Rtools 3.5
+#install_github("EvenStar69/significativity.bar/significativity.bar")
+library(significativity.bar)
+ + + +

Bon j’ai dû un peu changer sa fonction parce qu’elle n’est plus compatible avec ggplot 3.3.
+J’ai changé la manière de retrouver les coordonnées y : The position of ymax in ggplot_build(plot)$data[[1]] changed from column 6 to 7.
+Et j’ai changé la manière de retrouver l’échalle en y : panel_ranges in ggplot_build(plot)$layout does not exist anymore … use panel_scale_y instead.
+J’ai aussi dû mettre à jour R vers la version 3.6.3.
+Voici le code modifié de sa fonction :

+ + + +
significativity_bar <- function(plot, groups, text = "*", text_height = 0.0275, size_bar = 1, color_bar = "black", size_text = 8, color_text = "black", font_face = 1, font_style = "serif", line_type = "solid"){
+  
+  
+  
+  if (!require("ggplot2", character.only=T, quietly=T)){ # use library ggplot
+    
+    install.packages("ggplot2")
+    
+    library(ggplot2, character.only=T)
+    
+  }
+  
+  
+  
+  if (class(plot)[1] != "gg"){
+    
+    stop("Your input plot is not a ggplot")
+    
+  }
+  
+  if (length(groups) != 2){
+    
+    stop("Please select only 2 groups between which you want the error bar")
+    
+  }
+  
+  if (!is.vector(groups)){
+    
+    stop("Please input your 2 selected groups in a vector")
+    
+  }
+  
+  if (!is.character(text)) {
+    
+    stop("Please input the text above the bar as character")
+    
+  }
+  
+  if (!is.numeric(text_height) | length(text_height) > 1){
+    
+    stop("Please input one numeric value for the text height")
+    
+  }
+  
+  if (!is.numeric(size_bar) | length(size_bar) > 1){
+    
+    stop("Please input one numeric value for the bar size")
+    
+  }
+  
+  if (!is.character(color_bar)){
+    
+    stop("Please input an existing R color, as a character, for the color of the bar")
+    
+  }
+  
+  if (!is.numeric(size_text) | length(size_text) > 1){
+    
+    stop("Please input one numeric value for the text size")
+    
+  }
+  
+  if (!is.numeric(font_face) | length(font_face) > 1){
+    
+    stop("Please input one numeric value for the font face")
+    
+  }
+  
+  if (!is.character(color_text)){
+    
+    stop("Please input an existing R color, as a character, for the color of the text")
+    
+  }
+  
+  if (!is.character(font_style)){
+    
+    stop("Please input an existing font family, as a character, for the color of the bar")
+    
+  }
+  
+  if (!is.character(line_type)){
+    
+    stop("Please input an existing line style, as a character, for the color of the bar")
+    
+  }
+  
+  
+  
+  if (text_height >=1){
+    
+    warning("text_height should be between 0 and 1, default value for * and around 0.04 for text are advised")
+    
+  }
+  
+  
+  
+  
+  
+  if (class(as.list.environment(plot$layers[[1]])$geom)[1] == "GeomPoint"){ # if the ggplot is a dotplot
+    
+    coords = ggplot_build(plot)$data[[1]] # get the coordinates of the points
+    
+    xcoords = c()
+    
+    ycoords = c()
+    
+    for (i in groups){ # get the x coordinates of all coordinates in a vector, for the 2 selected groups
+      
+      xcoord_temp = unique(coords$x)[i]
+      
+      xcoords = append(xcoords, xcoord_temp)
+      
+    }
+    
+    for (i in c(1,2)){
+      
+      ycoord_temp = max(coords[coords$x == xcoords[i],]$y) # get the y coordinate of the upper point of each group
+      
+      ycoords = append(ycoords, ycoord_temp)
+      
+    }
+    
+    
+    
+    y_range = ggplot_build(plot)$layout$panel_scales_y[[1]]$limits # get the total height of the y scale
+    # panel_ranges in ggplot_build(plot)$layout does not exist anymore ... use panel_scale_y instead
+    
+    y_sum = sum(abs(y_range)) 
+    
+    y_scale = (7.5/100)*y_sum # starting position of the vertical bar (determined % of the total y scale)
+    
+    bar_height = y_scale + ((5/100)*y_sum) # final position of the vertical bar (determined % of the total y scale in addition to y_scale)
+    
+    
+    
+    ycoord_top = max(ycoords) # the bar should take the heighest of the two groups as a reference
+    
+    coord_bar = data.frame(x = c(xcoords[1], xcoords[1], xcoords[2], xcoords[2]), y = c(ycoord_top + y_scale, ycoord_top + bar_height, ycoord_top + bar_height, ycoord_top + y_scale)) # final coordinates of the bar
+    
+    
+    
+    star_x = mean(xcoords) # x coordinate of the text above the bar (in the middle of the two groups)
+    
+    star_y = ycoord_top + bar_height + ((2.75/100)*y_sum) # y coordinate of the text above the bar (above the bar by a determined factor)
+    
+    coord_star = c(star_x, star_y) # x,y coordinates of the text above the bar
+    
+    
+    
+    plot = plot + geom_path(data = coord_bar, aes(x=x, y=y), size = size_bar, color = color_bar, linetype = line_type) + annotate("text", x = star_x, y = star_y, label = text, size = size_text, color = color_text, fontface = font_face, family = font_style) # create the new ggplot
+    
+    print(plot)
+    
+    
+    
+  } else if (class(as.list.environment(plot$layers[[1]])$geom)[1] == "GeomBar") { # if the ggplot is a dotplot
+    
+    coords = ggplot_build(plot)$data[[1]]
+    
+    xcoords = c()  
+    
+    ycoords = c()
+    
+    for (i in groups){ # get the x and y coordinates of the two groups                                      
+      
+      xcoord_temp = mean(c(coords[i,]$xmin, coords[i,]$xmax))
+      
+      xcoords = append(xcoords, xcoord_temp)
+      
+      ycoord_temp = coords[i,7] # The position of ymax in ggplot_build(plot)$data[[1]] changed from column 6 to 7
+      
+      ycoords = append(ycoords, ycoord_temp)
+      
+    }
+    
+    
+    
+    y_range = ggplot_build(plot)$layout$panel_scales_y[[1]]$limits # get the total height of the y scale
+    
+    y_sum = sum(abs(y_range))
+    
+    y_scale = (7.5/100)*y_sum  # starting position of the vertical bar (determined % of the total y scale)
+    
+    bar_height = y_scale + ((5/100)*y_sum) # final position of the vertical bar (determined % of the total y scale in addition to y_scale)
+    
+    
+    
+    ycoord_top = max(ycoords) # the bar should take the heighest of the two groups as a reference
+    
+    coord_bar = data.frame(x = c(xcoords[1], xcoords[1], xcoords[2], xcoords[2]), y = c(ycoord_top + y_scale, ycoord_top + bar_height, ycoord_top + bar_height, ycoord_top + y_scale)) #  final coordinates of the bar
+    
+    
+    
+    star_x = mean(xcoords) # x coordinate of the text above the bar (in the middle of the two groups)
+    
+    star_y = ycoord_top + bar_height + (text_height*y_sum) # y coordinate of the text above the bar (above the bar by a determined factor)
+    
+    coord_star = c(star_x, star_y) # x,y coordinates of the text above the bar
+    
+    
+    
+    plot = plot + geom_path(data = coord_bar, aes(x=x, y=y), size = size_bar, color = color_bar, linetype = line_type) + annotate("text", x = star_x, y = star_y, label = text, size = size_text, color = color_text, fontface = font_face, family = font_style) # create the new ggplot
+    
+    print(plot)
+    
+  }
+  
+}
+ + + + + + +
gg<- ggplot(c, aes(x = c..aa....ap.., y = as.numeric(m_duree_appel)))+
+    geom_bar(stat = "identity")+
+    geom_errorbar(ymin = m_duree_appel-sd_duree_appel, ymax = m_duree_appel+sd_duree_appel)+ 
+    ylim(-500,5000)+
+    labs(title="Duree appel")
+significativity_bar(gg, groups = c(1,2))
+ + + +
+
+

Taux de réponses

+

Cette partie c’est juste pour voir si je répond autant aux messages qu’on m’en envoie.

+ + + +
Ratio<-df$Messages_recus/df$Messages_envoyes
+#Remplacement des NaN et inf (division par 0) en 0.
+Ratio[is.na(Ratio)]<-0
+Ratio[is.infinite(Ratio)]<-0
+barplot(Ratio)
+ + + + +
mean(Ratio)
+ + + +

En moyenne c’est assez équilibré : je réponds autant de fois qu’on m’envoie un message.

+
+
+
+

Conclusion

+

J’ai passé pas mal de temps à faire ça mais ça m’a permis de bien prendre en main l’outil.
+Je conçois que mon étude est assez sale et que les manières de plotter ne sont vraiment pas optimisées mais ce n’était pas vraiment le but de l’exercice.

+

Après avoir compilé, je n’ai pas pû le faire en pdf (des erreurs de polices qui ne passent pas avec LaTeX on dirait …).
+Aussi, j’ai remarqué qu’il fallait laissé un retour chariot après la visualisation du plot sinon le texte se met à côté dans le rendu.

+ +
-
LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQpUaGlzIGlzIGFuIFtSIE1hcmtkb3duXShodHRwOi8vcm1hcmtkb3duLnJzdHVkaW8uY29tKSBOb3RlYm9vay4gV2hlbiB5b3UgZXhlY3V0ZSBjb2RlIHdpdGhpbiB0aGUgbm90ZWJvb2ssIHRoZSByZXN1bHRzIGFwcGVhciBiZW5lYXRoIHRoZSBjb2RlLiANCg0KVHJ5IGV4ZWN1dGluZyB0aGlzIGNodW5rIGJ5IGNsaWNraW5nIHRoZSAqUnVuKiBidXR0b24gd2l0aGluIHRoZSBjaHVuayBvciBieSBwbGFjaW5nIHlvdXIgY3Vyc29yIGluc2lkZSBpdCBhbmQgcHJlc3NpbmcgKkN0cmwrU2hpZnQrRW50ZXIqLiANCg0KYGBge3J9DQpwbG90KGNhcnMpDQpgYGANCg0KQWRkIGEgbmV3IGNodW5rIGJ5IGNsaWNraW5nIHRoZSAqSW5zZXJ0IENodW5rKiBidXR0b24gb24gdGhlIHRvb2xiYXIgb3IgYnkgcHJlc3NpbmcgKkN0cmwrQWx0K0kqLg0KDQpXaGVuIHlvdSBzYXZlIHRoZSBub3RlYm9vaywgYW4gSFRNTCBmaWxlIGNvbnRhaW5pbmcgdGhlIGNvZGUgYW5kIG91dHB1dCB3aWxsIGJlIHNhdmVkIGFsb25nc2lkZSBpdCAoY2xpY2sgdGhlICpQcmV2aWV3KiBidXR0b24gb3IgcHJlc3MgKkN0cmwrU2hpZnQrSyogdG8gcHJldmlldyB0aGUgSFRNTCBmaWxlKS4NCg0KVGhlIHByZXZpZXcgc2hvd3MgeW91IGEgcmVuZGVyZWQgSFRNTCBjb3B5IG9mIHRoZSBjb250ZW50cyBvZiB0aGUgZWRpdG9yLiBDb25zZXF1ZW50bHksIHVubGlrZSAqS25pdCosICpQcmV2aWV3KiBkb2VzIG5vdCBydW4gYW55IFIgY29kZSBjaHVua3MuIEluc3RlYWQsIHRoZSBvdXRwdXQgb2YgdGhlIGNodW5rIHdoZW4gaXQgd2FzIGxhc3QgcnVuIGluIHRoZSBlZGl0b3IgaXMgZGlzcGxheWVkLg0K
+
LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6DQogIHBkZl9kb2N1bWVudDogZGVmYXVsdA0KICBodG1sX25vdGVib29rOiBkZWZhdWx0DQotLS0NCg0KDQojIyBMJ8OpdHVkZQ0KQ2V0dGUgw6l0dWRlIGNvbnNpc3RlIMOgIMOpdmFsdWVyIG1vbiB1c2FnZSBkdSB0w6lsw6lwaG9uZSBkZXB1aXMgbGUgMjUgZsOpdnJpZXIgMjAyMCBwb3VyIMOpdGFibGlyIHVuIGxpZW4gZW50cmUgbGEgbWlzZSBlbiBwbGFjZSBkdSBjb25maW5lbWVudCBsZSAxNyBtYXJzIDIwMjAgZXQgbW9uIHVzYWdlIHTDqWzDqXBob25pcXVlLg0KDQojIyBMZSBmaWNoaWVyIGRlIGRvbm7DqWVzDQpMZSBmaWNoaWVyIGRlIGRvbm7DqWVzIGNpLWFwcsOocyBlc3QgdW5lIHRhYmxlIHJlcHLDqXNlbnRhbnQgZGlmZsOpcmVudHMgcGFyYW3DqHRyZXMgY2hhcXVlIGpvdXIgZGVwdWlzIGxlIDI1LzAyLzIwMjAgOiAgIA0KLSBMZSBub21icmUgZCdhcHBlbHMgw6ltaXMgOiBBcHBlbHNcX2VtaXMgIA0KLSBMZSBub21icmUgZCdhcHBlbHMgcmXDp3VzIDogQXBwZWxzXF9yZWN1cyAoQ29tcHJlbmRzIGF1c3NpIGxlcyBhcHBlbHMgbWFucXXDqXMpICANCi0gTGEgZHVyw6llIHRvdGFsZSBkZXMgYXBwZWxzIGRlIGxhIGpvdXJuw6llIGVuIHNlY29uZGUgOiBEdXJlZVxfYXBwZWxzICANCi0gTGUgbm9tYnJlIGRlIG1lc3NhZ2VzIHJlw6d1cyA6IE1lc3NhZ2VzXF9yZWN1cyAgDQotIExlIG5vbWJyZSBkZSBtZXNzYWdlcyBlbnZvecOpcyA6IE1lc3NhZ2VzXF9lbnZveWVzICANCiAgDQpMZSBmaWNoaWVyIHBldXQgw6p0cmUgaW1wb3J0w6kgY29tbWUgY2VjaSA6ICANCmBgYHtyfQ0KZGY8LXJlYWQuY3N2KCJDOi9Vc2Vycy9NYXJjL0Rlc2t0b3AvTU9PQy9tb29jLXJyL21vZHVsZTIvZXhvNC9Cb29rMS5jc3YiLCBzZXAgPSAiOyIpDQpoZWFkKGRmKQ0KYGBgDQoNCiMjIEwnYW5hbHlzZSBkZSBsJ3VzYWdlIHTDqWzDqXBob25pcXVlDQoNClRvdXQgZCdhYm9yZCBvbiBwZXV0IHBsb3R0ZXIgbGVzIGRpZmbDqXJlbnRzIHBhcmFtw6h0cmVzIGF1IGNvdXJzIGR1IHRlbXBzIHBvdXIgc2UgZG9ubmVyIHVuIGFwZXLDp3UgZGUgbW9uIHVzYWdlIDogIA0KICANCjEuIExlcyBhcHBlbHMgw6ltaXMgIA0KYGBge3J9DQpiYXJwbG90KGRmJEFwcGVsc19lbWlzLCBuYW1lcy5hcmcgPSBkZiTDry4uRGF0ZSkNCmBgYA0KDQpMZXMgZGF0ZXMgc29udCBtYWwgcG9zaXRpb25uw6llcyBtYWlzIGMnZXN0IHBhcyBncmF2ZS4gSWwgc2VtYmxlIHF1ZSBqJ2FpIGJlYXVjb3VwIGFwcGVsw6kgYXV0b3VyIGRlIGxhIGRhdGUgZHUgMTcgbWFycy4gIA0KICANCjIuIEFwcGVscyByZcOndXMgIA0KYGBge3J9DQpiYXJwbG90KGRmJEFwcGVsc19yZWN1cywgbmFtZXMuYXJnID0gZGYkw68uLkRhdGUpDQpgYGANCg0KSWwgc2VtYmxlIHF1ZSBqJ2FpIHJlw6d1IGJlYXVjb3VwIGQnYXBwZWxzIGxhIHZlaWxsZSBkdSAxNyBtYXJzIHB1aXMgcXVlIGonYWkgcmXDp3UgKyBkJ2FwcGVscyBlbiBnw6luw6lyYWwgYXByw6hzIGNldHRlIHDDqXJpb2RlIHF1J2F2YW50LiAgDQogIA0KMy4gRHVyw6llIGFwcGVsICANCmBgYHtyfQ0KYmFycGxvdChkZiREdXJlZV9hcHBlbCwgbmFtZXMuYXJnID0gZGYkw68uLkRhdGUpDQpgYGANCg0KTMOgIGMnZXN0IHRyw6hzIHZveWFudC4gSidhaSBwYXNzw6kgYmVhdWNvdXAgZGUgdGVtcHMgYXUgdMOpbMOpcGhvbmUgYXByw6hzIGxlIDE2IG1hcnMgY29tcGFyw6kgw6AgYXZhbnQgKHNhdWYgMiBmb2lzKS4gIA0KICANCjQuIE1lc3NhZ2VzIHJlw6d1cyAgDQpgYGB7cn0NCmJhcnBsb3QoZGYkTWVzc2FnZXNfcmVjdXMsIG5hbWVzLmFyZyA9IGRmJMOvLi5EYXRlKQ0KYGBgDQogIA0KNS4gTWVzc2FnZXMgZW52b3nDqXMgIA0KYGBge3J9DQpiYXJwbG90KGRmJE1lc3NhZ2VzX2Vudm95ZXMsIG5hbWVzLmFyZyA9IGRmJMOvLi5EYXRlKQ0KYGBgDQoNClBvdXIgbGVzIG1lc3NhZ2VzLCBsYSB0ZW5kYW5jZSBlc3QgaW52ZXJzZSBhdXggYXBwZWxzIDogamUgcmXDp29pcyBldCBlbnZvaWUgLSBkZSBzbXMgZGVwdWlzIGxlIDE3IG1hcnMgY29tcGFyw6kgw6AgYXZhbnQuICANCkonYWkgZXB1dCDDqnRyZSBjaGFuZ8OpIG1vbiB1c2FnZSBkZSBsJ3VuIMOgIGwnYXV0cmUuICANClNhdWYgYXV0b3VyIGR1IDE2LTE3IG1hcnMgb8O5IGonYWkgYmVhdWNvdXAgY29tbXVuaXF1w6kuICANCg0KIyMjIFJlcHLDqXNlbnRhdGlvbiBkZXMgbW95ZW5uZXMgYXZhbnQgZXQgYXByw6hzIGxlIDE3IG1hcnMNCkplIHZhaXMgcmFqb3V0w6kgdW5lIGNvbG9ubmUgcG91ciBpbmRpcXXDqSBhdmFudCBvdSBhcHLDqHMgbGUgMTcgbWFycy4gIA0KYGBge3J9DQphZGQ8LWMocmVwKCJhdmFudCIsMjEpLCByZXAoImFwcsOocyIsMjEpKQ0KZGYkYWRkPC1hZGQNCmBgYA0KT3VpIGplIHNhaXMgYydlc3QgdnJhaW1lbnQgbnVsIG1haXMgZW4gZ3JvcyBqZSBzYWlzIHF1J2lsIHkgYSA0MiBsaWduZXMgZGFucyBtb24gdGFibGVhdSAoamUgcGV1eCBsZSB2w6lyaWZpZXIgYXZlYyBgbGVuZ3RoKGRmJEFwcGVsc19lbWlzKWAgcGFyIGV4ZW1wbGUpIGV0IHF1ZSBsZSAxNyBtYXJzIGVzdCBsYSAyMsOobWUgbGlnbmUuICANCkonYWkgZG9uYyBham91dMOpIDIxIGZvaXMgImF2YW50IiBldCAyMSBmb2lzICJhcHLDqHMiIHN1ciB1bmUgY29sb25uZSBkYW5zIG1vbiBkYXRhIGZyYW1lIGRmLiAgDQogIA0KICANCk1haW50ZW5hbnQgb24gdmEgcG91dm9pciBjYWxjdWxlciBsZXMgbW95ZW5uZXMgZGVzIHBhcmFtw6h0cmVzIGF2YW50IGV0IGFwcsOocyAoaW5jbHVzKSBsZSAxNyBtYXJzIDIwMjAuICANCmBgYHtyfQ0KbV9hcHBlbHNfZW1pczwtYyhtZWFuKGRmJEFwcGVsc19lbWlzW2RmJGFkZD09ImF2YW50Il0pLCBtZWFuKGRmJEFwcGVsc19lbWlzW2RmJGFkZD09ImFwcsOocyJdKSkNCm1fYXBwZWxzX3JlY3VzPC1jKG1lYW4oZGYkQXBwZWxzX3JlY3VzW2RmJGFkZD09ImF2YW50Il0pLCBtZWFuKGRmJEFwcGVsc19yZWN1c1tkZiRhZGQ9PSJhcHLDqHMiXSkpDQptX2R1cmVlX2FwcGVsPC1jKG1lYW4oZGYkRHVyZWVfYXBwZWxbZGYkYWRkPT0iYXZhbnQiXSksIG1lYW4oZGYkRHVyZWVfYXBwZWxbZGYkYWRkPT0iYXByw6hzIl0pKQ0KbV9tZXNzYWdlc19yZWN1czwtYyhtZWFuKGRmJE1lc3NhZ2VzX3JlY3VzW2RmJGFkZD09ImF2YW50Il0pLCBtZWFuKGRmJE1lc3NhZ2VzX3JlY3VzW2RmJGFkZD09ImFwcsOocyJdKSkNCm1fbWVzc2FnZXNfZW52b3llczwtYyhtZWFuKGRmJE1lc3NhZ2VzX2Vudm95ZXNbZGYkYWRkPT0iYXZhbnQiXSksIG1lYW4oZGYkTWVzc2FnZXNfZW52b3llc1tkZiRhZGQ9PSJhcHLDqHMiXSkpDQptX2FwcGVsc19lbWlzDQptX2FwcGVsc19yZWN1cw0KbV9tZXNzYWdlc19yZWN1cw0KbV9tZXNzYWdlc19lbnZveWVzDQpgYGANCkV0IGxlcyDDqWNhcnRzLXR5cGVzIDogIA0KYGBge3J9DQpzZF9hcHBlbHNfZW1pczwtYyhzZChkZiRBcHBlbHNfZW1pc1tkZiRhZGQ9PSJhdmFudCJdKSwgc2QoZGYkQXBwZWxzX2VtaXNbZGYkYWRkPT0iYXByw6hzIl0pKQ0Kc2RfYXBwZWxzX3JlY3VzPC1jKHNkKGRmJEFwcGVsc19yZWN1c1tkZiRhZGQ9PSJhdmFudCJdKSwgc2QoZGYkQXBwZWxzX3JlY3VzW2RmJGFkZD09ImFwcsOocyJdKSkNCnNkX2R1cmVlX2FwcGVsPC1jKHNkKGRmJER1cmVlX2FwcGVsW2RmJGFkZD09ImF2YW50Il0pLCBzZChkZiREdXJlZV9hcHBlbFtkZiRhZGQ9PSJhcHLDqHMiXSkpDQpzZF9tZXNzYWdlc19yZWN1czwtYyhzZChkZiRNZXNzYWdlc19yZWN1c1tkZiRhZGQ9PSJhdmFudCJdKSwgc2QoZGYkTWVzc2FnZXNfcmVjdXNbZGYkYWRkPT0iYXByw6hzIl0pKQ0Kc2RfbWVzc2FnZXNfZW52b3llczwtYyhzZChkZiRNZXNzYWdlc19lbnZveWVzW2RmJGFkZD09ImF2YW50Il0pLCBzZChkZiRNZXNzYWdlc19lbnZveWVzW2RmJGFkZD09ImFwcsOocyJdKSkNCmBgYA0KDQogIA0KTWFpbnRlbmFudCBvbiB2YSBwb3V2b2lyIHBsb3R0ZXIgbGVzIG1veWVubmVzIGRlIHRvdXMgbGVzIHBhcmFtw6h0cmVzIGF2YW50IGV0IGFwcsOocyAoaW5jbHVzKSBsZSAxNyBtYXJzIDIwMjAuICANCkxlIG1pZXV4IGMnZXN0IGQndXRpbGlzZXIgZ2dwbG90LiAgIA0KYGBge3J9DQojaW5zdGFsbC5wYWNrYWdlcygiZ2dwbG90MiIpDQpsaWJyYXJ5KGdncGxvdDIpDQphPC1kYXRhLmZyYW1lKG1fYXBwZWxzX2VtaXMsIHNkX2FwcGVsc19lbWlzLCBjKCJhYSIsICJhcCIpKQ0KZ2dwbG90KGEsIGFlcyh4ID0gYSRjLi5hYS4uLi5hcC4uLCB5ID0gbV9hcHBlbHNfZW1pcykpKw0KICAgIGdlb21fYmFyKHN0YXQgPSAiaWRlbnRpdHkiKSsNCiAgICBnZW9tX2Vycm9yYmFyKHltaW4gPSBhJG1fYXBwZWxzX2VtaXMtYSRzZF9hcHBlbHNfZW1pcywgeW1heCA9IGEkbV9hcHBlbHNfZW1pcythJHNkX2FwcGVsc19lbWlzKSsgDQogICAgeWxpbSgtMSw0KSsNCiAgICBsYWJzKHRpdGxlPSJBcHBlbHMgw6ltaXMiKQ0KYGBgDQpgYGB7cn0NCmI8LWRhdGEuZnJhbWUobV9hcHBlbHNfcmVjdXMsIHNkX2FwcGVsc19yZWN1cywgYygiYWEiLCAiYXAiKSkNCmdncGxvdChiLCBhZXMoeCA9IGIkYy4uYWEuLi4uYXAuLiwgeSA9IGIkbV9hcHBlbHNfcmVjdXMpKSsNCiAgICBnZW9tX2JhcihzdGF0ID0gImlkZW50aXR5IikrDQogICAgZ2VvbV9lcnJvcmJhcih5bWluID0gYiRtX2FwcGVsc19yZWN1cy1iJHNkX2FwcGVsc19yZWN1cywgeW1heCA9IGIkbV9hcHBlbHNfcmVjdXMrYiRzZF9hcHBlbHNfcmVjdXMpKyANCiAgICB5bGltKC0xLDMpKw0KICAgIGxhYnModGl0bGU9IkFwcGVscyByZWN1cyIpDQpgYGANCmBgYHtyfQ0KYzwtZGF0YS5mcmFtZShtX2R1cmVlX2FwcGVsLCBzZF9kdXJlZV9hcHBlbCwgYygiYWEiLCAiYXAiKSkNCmdncGxvdChjLCBhZXMoeCA9IGMkYy4uYWEuLi4uYXAuLiwgeSA9IGMkbV9kdXJlZV9hcHBlbCkpKw0KICAgIGdlb21fYmFyKHN0YXQgPSAiaWRlbnRpdHkiKSsNCiAgICBnZW9tX2Vycm9yYmFyKHltaW4gPSBjJG1fZHVyZWVfYXBwZWwtYyRzZF9kdXJlZV9hcHBlbCwgeW1heCA9IGMkbV9kdXJlZV9hcHBlbCtjJHNkX2R1cmVlX2FwcGVsKSsgDQogICAgeWxpbSgtNTAwLDIwMDApKw0KICAgIGxhYnModGl0bGU9IkR1cmVlIGFwcGVsIikNCmBgYA0KYGBge3J9DQpkPC1kYXRhLmZyYW1lKG1fbWVzc2FnZXNfZW52b3llcywgc2RfbWVzc2FnZXNfZW52b3llcywgYygiYWEiLCAiYXAiKSkNCmdncGxvdChkLCBhZXMoeCA9IGQkYy4uYWEuLi4uYXAuLiwgeSA9IGQkbV9tZXNzYWdlc19lbnZveWVzKSkrDQogICAgZ2VvbV9iYXIoc3RhdCA9ICJpZGVudGl0eSIpKw0KICAgIGdlb21fZXJyb3JiYXIoeW1pbiA9IGQkbV9tZXNzYWdlc19lbnZveWVzLWQkc2RfbWVzc2FnZXNfZW52b3llcywgeW1heCA9IGQkbV9tZXNzYWdlc19lbnZveWVzK2Qkc2RfbWVzc2FnZXNfZW52b3llcykrIA0KICAgIHlsaW0oMCwxMikrDQogICAgbGFicyh0aXRsZT0iTWVzc2FnZXMgZW52b3llcyIpDQpgYGANCmBgYHtyfQ0KZTwtZGF0YS5mcmFtZShtX21lc3NhZ2VzX3JlY3VzLCBzZF9tZXNzYWdlc19yZWN1cywgYygiYWEiLCAiYXAiKSkNCmdncGxvdChlLCBhZXMoeCA9IGUkYy4uYWEuLi4uYXAuLiwgeSA9IGUkbV9tZXNzYWdlc19yZWN1cykpKw0KICAgIGdlb21fYmFyKHN0YXQgPSAiaWRlbnRpdHkiKSsNCiAgICBnZW9tX2Vycm9yYmFyKHltaW4gPSBlJG1fbWVzc2FnZXNfcmVjdXMtZSRzZF9tZXNzYWdlc19yZWN1cywgeW1heCA9IGUkbV9tZXNzYWdlc19yZWN1cytlJHNkX21lc3NhZ2VzX3JlY3VzKSsgDQogICAgeWxpbSgtMiwxMikrDQogICAgbGFicyh0aXRsZT0iTWVzc2FnZXMgcmVjdXMiKQ0KYGBgDQoNCl9fQmlsYW4gOiBPbiB2b2l0IGRlcyBhdWdtZW50YXRpb25zIGRhbnMgbGVzIGFwcGVscyBldCB1bmUgZGltaW51dGlvbiBkYW5zIGxlcyBtZXNzYWdlcyBtYWlzIGxlcyDDqWNhcnRzIHR5cGVzIHNvbnQgw6lub3JtZXNfXyAgDQogIA0KQSBtb24gYXZpcywgcmllbiBuJ2VzdCBzaWduaWZpY2F0aWYgbWFpcyBvbiBwZXV0IHMnZW50cmFpbmVyIHN1ciB1biBjYXMuICANCkNvbW1lIGlsIG4neSBhIHF1ZSAyMSB2YWxldXJzIGRhbnMgY2hhcXVlIGdyb3VwZSwgamUgbmUgcGV1eCBwYXMgYXBwbGlxdWVyIGxlIHRow6lvcsOobWUgY2VudHJhbCBsaW1pdGUuIEplIHZhaXMgZG9uYyB2w6lyaWZpZXIgbGEgZGlzdHJpYnV0aW9uIG5vcm1hbGUgZGUgY2hhcXVlIGdyb3VwZSBhaW5zaSBxdWUgbCfDqWdhbGl0w6kgZGVzIHZhcmlhbmNlcyBwb3VyIHZvaXIgcXVlbCB0ZXN0IHN0YXRpc3RpcXVlIGFwcGxpcXXDqS4gIA0KUHJlbm9ucyBjb21tZSBleGVtcGxlIGxhIGR1csOpZSBkZSBsJ2FwcGVsLiAgDQpgYGB7cn0NCnNoYXBpcm8udGVzdChkZiREdXJlZV9hcHBlbFtkZiRhZGQ9PSJhdmFudCJdKQ0Kc2hhcGlyby50ZXN0KGRmJER1cmVlX2FwcGVsW2RmJGFkZD09ImFwcsOocyJdKQ0KYGBgDQpMZXMgdGVzdHMgZGUgU2hhcGlyby1XaWxrIHNvbnQgc2lnbmlmaWNhdGlmcyBkb25jIGxlcyBkaXN0cmlidXRpb25zIG5lIHNvbnQgcGFzIG5vcm1hbGVzLiAgDQpVdGlsaXNhdGlvbiBkZSB0ZXN0cyBub24gcGFyYW3DqXRyaXF1ZXMgdHlwZSBNYW5uLVdoaXRuZXkgOiAgDQpgYGB7cn0NCndpbGNveC50ZXN0KGRmJER1cmVlX2FwcGVsW2RmJGFkZD09ImF2YW50Il0sZGYkRHVyZWVfYXBwZWxbZGYkYWRkPT0iYXByw6hzIl0pDQpgYGANCkFoIGJlbiBlbiBmYWl0IGxhIGR1csOpZSBkZXMgYXBwZWxzIGEgc2lnbmlmaWNhdGl2ZW1lbnQgYXVnbWVudMOpZSBhcHLDqHMgbGUgMTcgbWFycyAyMDIwLiBKZSBuZSBzdWlzIHBhcyBzdXBlciBmb3J0IGVuIHN0YXRpc3RpcXVlcyBkb25jIGonZXNww6hyZSBxdWUgYydlc3QgY29ycmVjdC4gQXVzc2ksIDIxIMOpY2hhbnRpbGxvbnMgcGFyIGdyb3VwZSBjJ2VzdCBwYXMgbWFsIHBvdXIgdW4gdGVzdCBub24gcGFyYW3DqXRyaXF1ZS4gIA0KICANCkR1IGNvdXAgb24gdmEgZXNzYXllciBkZSBtZXR0cmUgdW5lIMOpdG9pbGUgc3VyIGxlIHBsb3QgKGNlIHF1aSBuJ2VzdCBwYXMgY29tcHJpcyBkYW5zIGxlcyBmb25jdGlvbnMgZ2dwbG90KS4gIA0KUG91ciBjZWxhIG9uIHZhIGRvbmMgdGVzdGVyIGxlIGNvZGUgZCd1biBhbWkgZGlzcG9uaWJsZSBzdXIgW0dpdGh1Yl0oaHR0cHM6Ly9naXRodWIuY29tL0V2ZW5TdGFyNjkvc2lnbmlmaWNhdGl2aXR5LmJhcikuICANCmBgYHtyfQ0KI2luc3RhbGwucGFja2FnZXMoImRldnRvb2xzIikNCmxpYnJhcnkoZGV2dG9vbHMpDQojQmVzb2luIGRlIFJ0b29scyAzLjUNCiNpbnN0YWxsX2dpdGh1YigiRXZlblN0YXI2OS9zaWduaWZpY2F0aXZpdHkuYmFyL3NpZ25pZmljYXRpdml0eS5iYXIiKQ0KbGlicmFyeShzaWduaWZpY2F0aXZpdHkuYmFyKQ0KYGBgDQpCb24gaidhaSBkw7sgdW4gcGV1IGNoYW5nZXIgc2EgZm9uY3Rpb24gcGFyY2UgcXUnZWxsZSBuJ2VzdCBwbHVzIGNvbXBhdGlibGUgYXZlYyBnZ3Bsb3QgMy4zLiAgDQpKJ2FpIGNoYW5nw6kgbGEgbWFuacOocmUgZGUgcmV0cm91dmVyIGxlcyBjb29yZG9ubsOpZXMgeSA6IFRoZSBwb3NpdGlvbiBvZiB5bWF4IGluIGdncGxvdFxfYnVpbGQocGxvdClcJGRhdGFbWzFdXSBjaGFuZ2VkIGZyb20gY29sdW1uIDYgdG8gNy4gIA0KRXQgaidhaSBjaGFuZ8OpIGxhIG1hbmnDqHJlIGRlIHJldHJvdXZlciBsJ8OpY2hhbGxlIGVuIHkgOiBwYW5lbF9yYW5nZXMgaW4gZ2dwbG90XF9idWlsZChwbG90KVwkbGF5b3V0IGRvZXMgbm90IGV4aXN0IGFueW1vcmUgLi4uIHVzZSBwYW5lbFxfc2NhbGVcX3kgaW5zdGVhZC4gIA0KSidhaSBhdXNzaSBkw7sgbWV0dHJlIMOgIGpvdXIgUiB2ZXJzIGxhIHZlcnNpb24gMy42LjMuICANClZvaWNpIGxlIGNvZGUgbW9kaWZpw6kgZGUgc2EgZm9uY3Rpb24gOiAgDQpgYGB7cn0NCnNpZ25pZmljYXRpdml0eV9iYXIgPC0gZnVuY3Rpb24ocGxvdCwgZ3JvdXBzLCB0ZXh0ID0gIioiLCB0ZXh0X2hlaWdodCA9IDAuMDI3NSwgc2l6ZV9iYXIgPSAxLCBjb2xvcl9iYXIgPSAiYmxhY2siLCBzaXplX3RleHQgPSA4LCBjb2xvcl90ZXh0ID0gImJsYWNrIiwgZm9udF9mYWNlID0gMSwgZm9udF9zdHlsZSA9ICJzZXJpZiIsIGxpbmVfdHlwZSA9ICJzb2xpZCIpew0KICANCiAgDQogIA0KICBpZiAoIXJlcXVpcmUoImdncGxvdDIiLCBjaGFyYWN0ZXIub25seT1ULCBxdWlldGx5PVQpKXsgIyB1c2UgbGlicmFyeSBnZ3Bsb3QNCiAgICANCiAgICBpbnN0YWxsLnBhY2thZ2VzKCJnZ3Bsb3QyIikNCiAgICANCiAgICBsaWJyYXJ5KGdncGxvdDIsIGNoYXJhY3Rlci5vbmx5PVQpDQogICAgDQogIH0NCiAgDQogIA0KICANCiAgaWYgKGNsYXNzKHBsb3QpWzFdICE9ICJnZyIpew0KICAgIA0KICAgIHN0b3AoIllvdXIgaW5wdXQgcGxvdCBpcyBub3QgYSBnZ3Bsb3QiKQ0KICAgIA0KICB9DQogIA0KICBpZiAobGVuZ3RoKGdyb3VwcykgIT0gMil7DQogICAgDQogICAgc3RvcCgiUGxlYXNlIHNlbGVjdCBvbmx5IDIgZ3JvdXBzIGJldHdlZW4gd2hpY2ggeW91IHdhbnQgdGhlIGVycm9yIGJhciIpDQogICAgDQogIH0NCiAgDQogIGlmICghaXMudmVjdG9yKGdyb3Vwcykpew0KICAgIA0KICAgIHN0b3AoIlBsZWFzZSBpbnB1dCB5b3VyIDIgc2VsZWN0ZWQgZ3JvdXBzIGluIGEgdmVjdG9yIikNCiAgICANCiAgfQ0KICANCiAgaWYgKCFpcy5jaGFyYWN0ZXIodGV4dCkpIHsNCiAgICANCiAgICBzdG9wKCJQbGVhc2UgaW5wdXQgdGhlIHRleHQgYWJvdmUgdGhlIGJhciBhcyBjaGFyYWN0ZXIiKQ0KICAgIA0KICB9DQogIA0KICBpZiAoIWlzLm51bWVyaWModGV4dF9oZWlnaHQpIHwgbGVuZ3RoKHRleHRfaGVpZ2h0KSA+IDEpew0KICAgIA0KICAgIHN0b3AoIlBsZWFzZSBpbnB1dCBvbmUgbnVtZXJpYyB2YWx1ZSBmb3IgdGhlIHRleHQgaGVpZ2h0IikNCiAgICANCiAgfQ0KICANCiAgaWYgKCFpcy5udW1lcmljKHNpemVfYmFyKSB8IGxlbmd0aChzaXplX2JhcikgPiAxKXsNCiAgICANCiAgICBzdG9wKCJQbGVhc2UgaW5wdXQgb25lIG51bWVyaWMgdmFsdWUgZm9yIHRoZSBiYXIgc2l6ZSIpDQogICAgDQogIH0NCiAgDQogIGlmICghaXMuY2hhcmFjdGVyKGNvbG9yX2Jhcikpew0KICAgIA0KICAgIHN0b3AoIlBsZWFzZSBpbnB1dCBhbiBleGlzdGluZyBSIGNvbG9yLCBhcyBhIGNoYXJhY3RlciwgZm9yIHRoZSBjb2xvciBvZiB0aGUgYmFyIikNCiAgICANCiAgfQ0KICANCiAgaWYgKCFpcy5udW1lcmljKHNpemVfdGV4dCkgfCBsZW5ndGgoc2l6ZV90ZXh0KSA+IDEpew0KICAgIA0KICAgIHN0b3AoIlBsZWFzZSBpbnB1dCBvbmUgbnVtZXJpYyB2YWx1ZSBmb3IgdGhlIHRleHQgc2l6ZSIpDQogICAgDQogIH0NCiAgDQogIGlmICghaXMubnVtZXJpYyhmb250X2ZhY2UpIHwgbGVuZ3RoKGZvbnRfZmFjZSkgPiAxKXsNCiAgICANCiAgICBzdG9wKCJQbGVhc2UgaW5wdXQgb25lIG51bWVyaWMgdmFsdWUgZm9yIHRoZSBmb250IGZhY2UiKQ0KICAgIA0KICB9DQogIA0KICBpZiAoIWlzLmNoYXJhY3Rlcihjb2xvcl90ZXh0KSl7DQogICAgDQogICAgc3RvcCgiUGxlYXNlIGlucHV0IGFuIGV4aXN0aW5nIFIgY29sb3IsIGFzIGEgY2hhcmFjdGVyLCBmb3IgdGhlIGNvbG9yIG9mIHRoZSB0ZXh0IikNCiAgICANCiAgfQ0KICANCiAgaWYgKCFpcy5jaGFyYWN0ZXIoZm9udF9zdHlsZSkpew0KICAgIA0KICAgIHN0b3AoIlBsZWFzZSBpbnB1dCBhbiBleGlzdGluZyBmb250IGZhbWlseSwgYXMgYSBjaGFyYWN0ZXIsIGZvciB0aGUgY29sb3Igb2YgdGhlIGJhciIpDQogICAgDQogIH0NCiAgDQogIGlmICghaXMuY2hhcmFjdGVyKGxpbmVfdHlwZSkpew0KICAgIA0KICAgIHN0b3AoIlBsZWFzZSBpbnB1dCBhbiBleGlzdGluZyBsaW5lIHN0eWxlLCBhcyBhIGNoYXJhY3RlciwgZm9yIHRoZSBjb2xvciBvZiB0aGUgYmFyIikNCiAgICANCiAgfQ0KICANCiAgDQogIA0KICBpZiAodGV4dF9oZWlnaHQgPj0xKXsNCiAgICANCiAgICB3YXJuaW5nKCJ0ZXh0X2hlaWdodCBzaG91bGQgYmUgYmV0d2VlbiAwIGFuZCAxLCBkZWZhdWx0IHZhbHVlIGZvciAqIGFuZCBhcm91bmQgMC4wNCBmb3IgdGV4dCBhcmUgYWR2aXNlZCIpDQogICAgDQogIH0NCiAgDQogIA0KICANCiAgDQogIA0KICBpZiAoY2xhc3MoYXMubGlzdC5lbnZpcm9ubWVudChwbG90JGxheWVyc1tbMV1dKSRnZW9tKVsxXSA9PSAiR2VvbVBvaW50Iil7ICMgaWYgdGhlIGdncGxvdCBpcyBhIGRvdHBsb3QNCiAgICANCiAgICBjb29yZHMgPSBnZ3Bsb3RfYnVpbGQocGxvdCkkZGF0YVtbMV1dICMgZ2V0IHRoZSBjb29yZGluYXRlcyBvZiB0aGUgcG9pbnRzDQogICAgDQogICAgeGNvb3JkcyA9IGMoKQ0KICAgIA0KICAgIHljb29yZHMgPSBjKCkNCiAgICANCiAgICBmb3IgKGkgaW4gZ3JvdXBzKXsgIyBnZXQgdGhlIHggY29vcmRpbmF0ZXMgb2YgYWxsIGNvb3JkaW5hdGVzIGluIGEgdmVjdG9yLCBmb3IgdGhlIDIgc2VsZWN0ZWQgZ3JvdXBzDQogICAgICANCiAgICAgIHhjb29yZF90ZW1wID0gdW5pcXVlKGNvb3JkcyR4KVtpXQ0KICAgICAgDQogICAgICB4Y29vcmRzID0gYXBwZW5kKHhjb29yZHMsIHhjb29yZF90ZW1wKQ0KICAgICAgDQogICAgfQ0KICAgIA0KICAgIGZvciAoaSBpbiBjKDEsMikpew0KICAgICAgDQogICAgICB5Y29vcmRfdGVtcCA9IG1heChjb29yZHNbY29vcmRzJHggPT0geGNvb3Jkc1tpXSxdJHkpICMgZ2V0IHRoZSB5IGNvb3JkaW5hdGUgb2YgdGhlIHVwcGVyIHBvaW50IG9mIGVhY2ggZ3JvdXANCiAgICAgIA0KICAgICAgeWNvb3JkcyA9IGFwcGVuZCh5Y29vcmRzLCB5Y29vcmRfdGVtcCkNCiAgICAgIA0KICAgIH0NCiAgICANCiAgICANCiAgICANCiAgICB5X3JhbmdlID0gZ2dwbG90X2J1aWxkKHBsb3QpJGxheW91dCRwYW5lbF9zY2FsZXNfeVtbMV1dJGxpbWl0cyAjIGdldCB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSB5IHNjYWxlDQogICAgIyBwYW5lbF9yYW5nZXMgaW4gZ2dwbG90X2J1aWxkKHBsb3QpJGxheW91dCBkb2VzIG5vdCBleGlzdCBhbnltb3JlIC4uLiB1c2UgcGFuZWxfc2NhbGVfeSBpbnN0ZWFkDQogICAgDQogICAgeV9zdW0gPSBzdW0oYWJzKHlfcmFuZ2UpKSANCiAgICANCiAgICB5X3NjYWxlID0gKDcuNS8xMDApKnlfc3VtICMgc3RhcnRpbmcgcG9zaXRpb24gb2YgdGhlIHZlcnRpY2FsIGJhciAoZGV0ZXJtaW5lZCAlIG9mIHRoZSB0b3RhbCB5IHNjYWxlKQ0KICAgIA0KICAgIGJhcl9oZWlnaHQgPSB5X3NjYWxlICsgKCg1LzEwMCkqeV9zdW0pICMgZmluYWwgcG9zaXRpb24gb2YgdGhlIHZlcnRpY2FsIGJhciAoZGV0ZXJtaW5lZCAlIG9mIHRoZSB0b3RhbCB5IHNjYWxlIGluIGFkZGl0aW9uIHRvIHlfc2NhbGUpDQogICAgDQogICAgDQogICAgDQogICAgeWNvb3JkX3RvcCA9IG1heCh5Y29vcmRzKSAjIHRoZSBiYXIgc2hvdWxkIHRha2UgdGhlIGhlaWdoZXN0IG9mIHRoZSB0d28gZ3JvdXBzIGFzIGEgcmVmZXJlbmNlDQogICAgDQogICAgY29vcmRfYmFyID0gZGF0YS5mcmFtZSh4ID0gYyh4Y29vcmRzWzFdLCB4Y29vcmRzWzFdLCB4Y29vcmRzWzJdLCB4Y29vcmRzWzJdKSwgeSA9IGMoeWNvb3JkX3RvcCArIHlfc2NhbGUsIHljb29yZF90b3AgKyBiYXJfaGVpZ2h0LCB5Y29vcmRfdG9wICsgYmFyX2hlaWdodCwgeWNvb3JkX3RvcCArIHlfc2NhbGUpKSAjIGZpbmFsIGNvb3JkaW5hdGVzIG9mIHRoZSBiYXINCiAgICANCiAgICANCiAgICANCiAgICBzdGFyX3ggPSBtZWFuKHhjb29yZHMpICMgeCBjb29yZGluYXRlIG9mIHRoZSB0ZXh0IGFib3ZlIHRoZSBiYXIgKGluIHRoZSBtaWRkbGUgb2YgdGhlIHR3byBncm91cHMpDQogICAgDQogICAgc3Rhcl95ID0geWNvb3JkX3RvcCArIGJhcl9oZWlnaHQgKyAoKDIuNzUvMTAwKSp5X3N1bSkgIyB5IGNvb3JkaW5hdGUgb2YgdGhlIHRleHQgYWJvdmUgdGhlIGJhciAoYWJvdmUgdGhlIGJhciBieSBhIGRldGVybWluZWQgZmFjdG9yKQ0KICAgIA0KICAgIGNvb3JkX3N0YXIgPSBjKHN0YXJfeCwgc3Rhcl95KSAjIHgseSBjb29yZGluYXRlcyBvZiB0aGUgdGV4dCBhYm92ZSB0aGUgYmFyDQogICAgDQogICAgDQogICAgDQogICAgcGxvdCA9IHBsb3QgKyBnZW9tX3BhdGgoZGF0YSA9IGNvb3JkX2JhciwgYWVzKHg9eCwgeT15KSwgc2l6ZSA9IHNpemVfYmFyLCBjb2xvciA9IGNvbG9yX2JhciwgbGluZXR5cGUgPSBsaW5lX3R5cGUpICsgYW5ub3RhdGUoInRleHQiLCB4ID0gc3Rhcl94LCB5ID0gc3Rhcl95LCBsYWJlbCA9IHRleHQsIHNpemUgPSBzaXplX3RleHQsIGNvbG9yID0gY29sb3JfdGV4dCwgZm9udGZhY2UgPSBmb250X2ZhY2UsIGZhbWlseSA9IGZvbnRfc3R5bGUpICMgY3JlYXRlIHRoZSBuZXcgZ2dwbG90DQogICAgDQogICAgcHJpbnQocGxvdCkNCiAgICANCiAgICANCiAgICANCiAgfSBlbHNlIGlmIChjbGFzcyhhcy5saXN0LmVudmlyb25tZW50KHBsb3QkbGF5ZXJzW1sxXV0pJGdlb20pWzFdID09ICJHZW9tQmFyIikgeyAjIGlmIHRoZSBnZ3Bsb3QgaXMgYSBkb3RwbG90DQogICAgDQogICAgY29vcmRzID0gZ2dwbG90X2J1aWxkKHBsb3QpJGRhdGFbWzFdXQ0KICAgIA0KICAgIHhjb29yZHMgPSBjKCkgIA0KICAgIA0KICAgIHljb29yZHMgPSBjKCkNCiAgICANCiAgICBmb3IgKGkgaW4gZ3JvdXBzKXsgIyBnZXQgdGhlIHggYW5kIHkgY29vcmRpbmF0ZXMgb2YgdGhlIHR3byBncm91cHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgDQogICAgICB4Y29vcmRfdGVtcCA9IG1lYW4oYyhjb29yZHNbaSxdJHhtaW4sIGNvb3Jkc1tpLF0keG1heCkpDQogICAgICANCiAgICAgIHhjb29yZHMgPSBhcHBlbmQoeGNvb3JkcywgeGNvb3JkX3RlbXApDQogICAgICANCiAgICAgIHljb29yZF90ZW1wID0gY29vcmRzW2ksN10gIyBUaGUgcG9zaXRpb24gb2YgeW1heCBpbiBnZ3Bsb3RfYnVpbGQocGxvdCkkZGF0YVtbMV1dIGNoYW5nZWQgZnJvbSBjb2x1bW4gNiB0byA3DQogICAgICANCiAgICAgIHljb29yZHMgPSBhcHBlbmQoeWNvb3JkcywgeWNvb3JkX3RlbXApDQogICAgICANCiAgICB9DQogICAgDQogICAgDQogICAgDQogICAgeV9yYW5nZSA9IGdncGxvdF9idWlsZChwbG90KSRsYXlvdXQkcGFuZWxfc2NhbGVzX3lbWzFdXSRsaW1pdHMgIyBnZXQgdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgeSBzY2FsZQ0KICAgIA0KICAgIHlfc3VtID0gc3VtKGFicyh5X3JhbmdlKSkNCiAgICANCiAgICB5X3NjYWxlID0gKDcuNS8xMDApKnlfc3VtICAjIHN0YXJ0aW5nIHBvc2l0aW9uIG9mIHRoZSB2ZXJ0aWNhbCBiYXIgKGRldGVybWluZWQgJSBvZiB0aGUgdG90YWwgeSBzY2FsZSkNCiAgICANCiAgICBiYXJfaGVpZ2h0ID0geV9zY2FsZSArICgoNS8xMDApKnlfc3VtKSAjIGZpbmFsIHBvc2l0aW9uIG9mIHRoZSB2ZXJ0aWNhbCBiYXIgKGRldGVybWluZWQgJSBvZiB0aGUgdG90YWwgeSBzY2FsZSBpbiBhZGRpdGlvbiB0byB5X3NjYWxlKQ0KICAgIA0KICAgIA0KICAgIA0KICAgIHljb29yZF90b3AgPSBtYXgoeWNvb3JkcykgIyB0aGUgYmFyIHNob3VsZCB0YWtlIHRoZSBoZWlnaGVzdCBvZiB0aGUgdHdvIGdyb3VwcyBhcyBhIHJlZmVyZW5jZQ0KICAgIA0KICAgIGNvb3JkX2JhciA9IGRhdGEuZnJhbWUoeCA9IGMoeGNvb3Jkc1sxXSwgeGNvb3Jkc1sxXSwgeGNvb3Jkc1syXSwgeGNvb3Jkc1syXSksIHkgPSBjKHljb29yZF90b3AgKyB5X3NjYWxlLCB5Y29vcmRfdG9wICsgYmFyX2hlaWdodCwgeWNvb3JkX3RvcCArIGJhcl9oZWlnaHQsIHljb29yZF90b3AgKyB5X3NjYWxlKSkgIyAgZmluYWwgY29vcmRpbmF0ZXMgb2YgdGhlIGJhcg0KICAgIA0KICAgIA0KICAgIA0KICAgIHN0YXJfeCA9IG1lYW4oeGNvb3JkcykgIyB4IGNvb3JkaW5hdGUgb2YgdGhlIHRleHQgYWJvdmUgdGhlIGJhciAoaW4gdGhlIG1pZGRsZSBvZiB0aGUgdHdvIGdyb3VwcykNCiAgICANCiAgICBzdGFyX3kgPSB5Y29vcmRfdG9wICsgYmFyX2hlaWdodCArICh0ZXh0X2hlaWdodCp5X3N1bSkgIyB5IGNvb3JkaW5hdGUgb2YgdGhlIHRleHQgYWJvdmUgdGhlIGJhciAoYWJvdmUgdGhlIGJhciBieSBhIGRldGVybWluZWQgZmFjdG9yKQ0KICAgIA0KICAgIGNvb3JkX3N0YXIgPSBjKHN0YXJfeCwgc3Rhcl95KSAjIHgseSBjb29yZGluYXRlcyBvZiB0aGUgdGV4dCBhYm92ZSB0aGUgYmFyDQogICAgDQogICAgDQogICAgDQogICAgcGxvdCA9IHBsb3QgKyBnZW9tX3BhdGgoZGF0YSA9IGNvb3JkX2JhciwgYWVzKHg9eCwgeT15KSwgc2l6ZSA9IHNpemVfYmFyLCBjb2xvciA9IGNvbG9yX2JhciwgbGluZXR5cGUgPSBsaW5lX3R5cGUpICsgYW5ub3RhdGUoInRleHQiLCB4ID0gc3Rhcl94LCB5ID0gc3Rhcl95LCBsYWJlbCA9IHRleHQsIHNpemUgPSBzaXplX3RleHQsIGNvbG9yID0gY29sb3JfdGV4dCwgZm9udGZhY2UgPSBmb250X2ZhY2UsIGZhbWlseSA9IGZvbnRfc3R5bGUpICMgY3JlYXRlIHRoZSBuZXcgZ2dwbG90DQogICAgDQogICAgcHJpbnQocGxvdCkNCiAgICANCiAgfQ0KICANCn0NCmBgYA0KDQoNCmBgYHtyfQ0KZ2c8LSBnZ3Bsb3QoYywgYWVzKHggPSBjLi5hYS4uLi5hcC4uLCB5ID0gYXMubnVtZXJpYyhtX2R1cmVlX2FwcGVsKSkpKw0KICAgIGdlb21fYmFyKHN0YXQgPSAiaWRlbnRpdHkiKSsNCiAgICBnZW9tX2Vycm9yYmFyKHltaW4gPSBtX2R1cmVlX2FwcGVsLXNkX2R1cmVlX2FwcGVsLCB5bWF4ID0gbV9kdXJlZV9hcHBlbCtzZF9kdXJlZV9hcHBlbCkrIA0KICAgIHlsaW0oLTUwMCw1MDAwKSsNCiAgICBsYWJzKHRpdGxlPSJEdXJlZSBhcHBlbCIpDQpzaWduaWZpY2F0aXZpdHlfYmFyKGdnLCBncm91cHMgPSBjKDEsMikpDQpgYGANCg0KDQojIyMgVGF1eCBkZSByw6lwb25zZXMNCg0KQ2V0dGUgcGFydGllIGMnZXN0IGp1c3RlIHBvdXIgdm9pciBzaSBqZSByw6lwb25kIGF1dGFudCBhdXggbWVzc2FnZXMgcXUnb24gbSdlbiBlbnZvaWUuICANCmBgYHtyfQ0KUmF0aW88LWRmJE1lc3NhZ2VzX3JlY3VzL2RmJE1lc3NhZ2VzX2Vudm95ZXMNCiNSZW1wbGFjZW1lbnQgZGVzIE5hTiBldCBpbmYgKGRpdmlzaW9uIHBhciAwKSBlbiAwLg0KUmF0aW9baXMubmEoUmF0aW8pXTwtMA0KUmF0aW9baXMuaW5maW5pdGUoUmF0aW8pXTwtMA0KYmFycGxvdChSYXRpbykNCmBgYA0KYGBge3J9DQptZWFuKFJhdGlvKQ0KYGBgDQpFbiBtb3llbm5lIGMnZXN0IGFzc2V6IMOpcXVpbGlicsOpIDogamUgcsOpcG9uZHMgYXV0YW50IGRlIGZvaXMgcXUnb24gbSdlbnZvaWUgdW4gbWVzc2FnZS4gIA0KDQojIyBDb25jbHVzaW9uDQoNCl9fSidhaSBwYXNzw6kgcGFzIG1hbCBkZSB0ZW1wcyDDoCBmYWlyZSDDp2EgbWFpcyDDp2EgbSdhIHBlcm1pcyBkZSBiaWVuIHByZW5kcmUgZW4gbWFpbiBsJ291dGlsLiAgDQpKZSBjb27Dp29pcyBxdWUgbW9uIMOpdHVkZSBlc3QgYXNzZXogc2FsZSBldCBxdWUgbGVzIG1hbmnDqHJlcyBkZSBwbG90dGVyIG5lIHNvbnQgdnJhaW1lbnQgcGFzIG9wdGltaXPDqWVzIG1haXMgY2UgbifDqXRhaXQgcGFzIHZyYWltZW50IGxlIGJ1dCBkZSBsJ2V4ZXJjaWNlLl9fICANCiAgDQpfX0FwcsOocyBhdm9pciBjb21waWzDqSwgamUgbidhaSBwYXMgcMO7IGxlIGZhaXJlIGVuIHBkZiAoZGVzIGVycmV1cnMgZGUgcG9saWNlcyBxdWkgbmUgcGFzc2VudCBwYXMgYXZlYyBMYVRlWCBvbiBkaXJhaXQgLi4uKS4gIA0KQXVzc2ksIGonYWkgcmVtYXJxdcOpIHF1J2lsIGZhbGxhaXQgbGFpc3PDqSB1biByZXRvdXIgY2hhcmlvdCBhcHLDqHMgbGEgdmlzdWFsaXNhdGlvbiBkdSBwbG90IHNpbm9uIGxlIHRleHRlIHNlIG1ldCDDoCBjw7R0w6kgZGFucyBsZSByZW5kdS5fXw0K
diff --git a/module2/exo4/test-notebook.Rmd b/module2/exo4/test-notebook.Rmd new file mode 100644 index 0000000..aace0ad --- /dev/null +++ b/module2/exo4/test-notebook.Rmd @@ -0,0 +1,415 @@ +--- +title: "R Notebook" +output: + pdf_document: default + html_notebook: default +--- + + +## L'étude +Cette étude consiste à évaluer mon usage du téléphone depuis le 25 février 2020 pour établir un lien entre la mise en place du confinement le 17 mars 2020 et mon usage téléphonique. + +## Le fichier de données +Le fichier de données ci-après est une table représentant différents paramètres chaque jour depuis le 25/02/2020 : +- Le nombre d'appels émis : Appels\_emis +- Le nombre d'appels reçus : Appels\_recus (Comprends aussi les appels manqués) +- La durée totale des appels de la journée en seconde : Duree\_appels +- Le nombre de messages reçus : Messages\_recus +- Le nombre de messages envoyés : Messages\_envoyes + +Le fichier peut être importé comme ceci : +```{r} +df<-read.csv("C:/Users/Marc/Desktop/MOOC/mooc-rr/module2/exo4/Book1.csv", sep = ";") +head(df) +``` + +## L'analyse de l'usage téléphonique + +Tout d'abord on peut plotter les différents paramètres au cours du temps pour se donner un aperçu de mon usage : + +1. Les appels émis +```{r} +barplot(df$Appels_emis, names.arg = df$ï..Date) +``` + +Les dates sont mal positionnées mais c'est pas grave. Il semble que j'ai beaucoup appelé autour de la date du 17 mars. + +2. Appels reçus +```{r} +barplot(df$Appels_recus, names.arg = df$ï..Date) +``` + +Il semble que j'ai reçu beaucoup d'appels la veille du 17 mars puis que j'ai reçu + d'appels en général après cette période qu'avant. + +3. Durée appel +```{r} +barplot(df$Duree_appel, names.arg = df$ï..Date) +``` + +Là c'est très voyant. J'ai passé beaucoup de temps au téléphone après le 16 mars comparé à avant (sauf 2 fois). + +4. Messages reçus +```{r} +barplot(df$Messages_recus, names.arg = df$ï..Date) +``` + +5. Messages envoyés +```{r} +barplot(df$Messages_envoyes, names.arg = df$ï..Date) +``` + +Pour les messages, la tendance est inverse aux appels : je reçois et envoie - de sms depuis le 17 mars comparé à avant. +J'ai eput être changé mon usage de l'un à l'autre. +Sauf autour du 16-17 mars où j'ai beaucoup communiqué. + +### Représentation des moyennes avant et après le 17 mars +Je vais rajouté une colonne pour indiqué avant ou après le 17 mars. +```{r} +add<-c(rep("avant",21), rep("après",21)) +df$add<-add +``` +Oui je sais c'est vraiment nul mais en gros je sais qu'il y a 42 lignes dans mon tableau (je peux le vérifier avec `length(df$Appels_emis)` par exemple) et que le 17 mars est la 22ème ligne. +J'ai donc ajouté 21 fois "avant" et 21 fois "après" sur une colonne dans mon data frame df. + + +Maintenant on va pouvoir calculer les moyennes des paramètres avant et après (inclus) le 17 mars 2020. +```{r} +m_appels_emis<-c(mean(df$Appels_emis[df$add=="avant"]), mean(df$Appels_emis[df$add=="après"])) +m_appels_recus<-c(mean(df$Appels_recus[df$add=="avant"]), mean(df$Appels_recus[df$add=="après"])) +m_duree_appel<-c(mean(df$Duree_appel[df$add=="avant"]), mean(df$Duree_appel[df$add=="après"])) +m_messages_recus<-c(mean(df$Messages_recus[df$add=="avant"]), mean(df$Messages_recus[df$add=="après"])) +m_messages_envoyes<-c(mean(df$Messages_envoyes[df$add=="avant"]), mean(df$Messages_envoyes[df$add=="après"])) +m_appels_emis +m_appels_recus +m_messages_recus +m_messages_envoyes +``` +Et les écarts-types : +```{r} +sd_appels_emis<-c(sd(df$Appels_emis[df$add=="avant"]), sd(df$Appels_emis[df$add=="après"])) +sd_appels_recus<-c(sd(df$Appels_recus[df$add=="avant"]), sd(df$Appels_recus[df$add=="après"])) +sd_duree_appel<-c(sd(df$Duree_appel[df$add=="avant"]), sd(df$Duree_appel[df$add=="après"])) +sd_messages_recus<-c(sd(df$Messages_recus[df$add=="avant"]), sd(df$Messages_recus[df$add=="après"])) +sd_messages_envoyes<-c(sd(df$Messages_envoyes[df$add=="avant"]), sd(df$Messages_envoyes[df$add=="après"])) +``` + + +Maintenant on va pouvoir plotter les moyennes de tous les paramètres avant et après (inclus) le 17 mars 2020. +Le mieux c'est d'utiliser ggplot. +```{r} +#install.packages("ggplot2") +library(ggplot2) +a<-data.frame(m_appels_emis, sd_appels_emis, c("aa", "ap")) +ggplot(a, aes(x = a$c..aa....ap.., y = m_appels_emis))+ + geom_bar(stat = "identity")+ + geom_errorbar(ymin = a$m_appels_emis-a$sd_appels_emis, ymax = a$m_appels_emis+a$sd_appels_emis)+ + ylim(-1,4)+ + labs(title="Appels émis") +``` +```{r} +b<-data.frame(m_appels_recus, sd_appels_recus, c("aa", "ap")) +ggplot(b, aes(x = b$c..aa....ap.., y = b$m_appels_recus))+ + geom_bar(stat = "identity")+ + geom_errorbar(ymin = b$m_appels_recus-b$sd_appels_recus, ymax = b$m_appels_recus+b$sd_appels_recus)+ + ylim(-1,3)+ + labs(title="Appels recus") +``` +```{r} +c<-data.frame(m_duree_appel, sd_duree_appel, c("aa", "ap")) +ggplot(c, aes(x = c$c..aa....ap.., y = c$m_duree_appel))+ + geom_bar(stat = "identity")+ + geom_errorbar(ymin = c$m_duree_appel-c$sd_duree_appel, ymax = c$m_duree_appel+c$sd_duree_appel)+ + ylim(-500,2000)+ + labs(title="Duree appel") +``` +```{r} +d<-data.frame(m_messages_envoyes, sd_messages_envoyes, c("aa", "ap")) +ggplot(d, aes(x = d$c..aa....ap.., y = d$m_messages_envoyes))+ + geom_bar(stat = "identity")+ + geom_errorbar(ymin = d$m_messages_envoyes-d$sd_messages_envoyes, ymax = d$m_messages_envoyes+d$sd_messages_envoyes)+ + ylim(0,12)+ + labs(title="Messages envoyes") +``` +```{r} +e<-data.frame(m_messages_recus, sd_messages_recus, c("aa", "ap")) +ggplot(e, aes(x = e$c..aa....ap.., y = e$m_messages_recus))+ + geom_bar(stat = "identity")+ + geom_errorbar(ymin = e$m_messages_recus-e$sd_messages_recus, ymax = e$m_messages_recus+e$sd_messages_recus)+ + ylim(-2,12)+ + labs(title="Messages recus") +``` + +__Bilan : On voit des augmentations dans les appels et une diminution dans les messages mais les écarts types sont énormes__ + +A mon avis, rien n'est significatif mais on peut s'entrainer sur un cas. +Comme il n'y a que 21 valeurs dans chaque groupe, je ne peux pas appliquer le théorème central limite. Je vais donc vérifier la distribution normale de chaque groupe ainsi que l'égalité des variances pour voir quel test statistique appliqué. +Prenons comme exemple la durée de l'appel. +```{r} +shapiro.test(df$Duree_appel[df$add=="avant"]) +shapiro.test(df$Duree_appel[df$add=="après"]) +``` +Les tests de Shapiro-Wilk sont significatifs donc les distributions ne sont pas normales. +Utilisation de tests non paramétriques type Mann-Whitney : +```{r} +wilcox.test(df$Duree_appel[df$add=="avant"],df$Duree_appel[df$add=="après"]) +``` +Ah ben en fait la durée des appels a significativement augmentée après le 17 mars 2020. Je ne suis pas super fort en statistiques donc j'espère que c'est correct. Aussi, 21 échantillons par groupe c'est pas mal pour un test non paramétrique. + +Du coup on va essayer de mettre une étoile sur le plot (ce qui n'est pas compris dans les fonctions ggplot). +Pour cela on va donc tester le code d'un ami disponible sur [Github](https://github.com/EvenStar69/significativity.bar). +```{r} +#install.packages("devtools") +library(devtools) +#Besoin de Rtools 3.5 +#install_github("EvenStar69/significativity.bar/significativity.bar") +library(significativity.bar) +``` +Bon j'ai dû un peu changer sa fonction parce qu'elle n'est plus compatible avec ggplot 3.3. +J'ai changé la manière de retrouver les coordonnées y : The position of ymax in ggplot\_build(plot)\$data[[1]] changed from column 6 to 7. +Et j'ai changé la manière de retrouver l'échalle en y : panel_ranges in ggplot\_build(plot)\$layout does not exist anymore ... use panel\_scale\_y instead. +J'ai aussi dû mettre à jour R vers la version 3.6.3. +Voici le code modifié de sa fonction : +```{r} +significativity_bar <- function(plot, groups, text = "*", text_height = 0.0275, size_bar = 1, color_bar = "black", size_text = 8, color_text = "black", font_face = 1, font_style = "serif", line_type = "solid"){ + + + + if (!require("ggplot2", character.only=T, quietly=T)){ # use library ggplot + + install.packages("ggplot2") + + library(ggplot2, character.only=T) + + } + + + + if (class(plot)[1] != "gg"){ + + stop("Your input plot is not a ggplot") + + } + + if (length(groups) != 2){ + + stop("Please select only 2 groups between which you want the error bar") + + } + + if (!is.vector(groups)){ + + stop("Please input your 2 selected groups in a vector") + + } + + if (!is.character(text)) { + + stop("Please input the text above the bar as character") + + } + + if (!is.numeric(text_height) | length(text_height) > 1){ + + stop("Please input one numeric value for the text height") + + } + + if (!is.numeric(size_bar) | length(size_bar) > 1){ + + stop("Please input one numeric value for the bar size") + + } + + if (!is.character(color_bar)){ + + stop("Please input an existing R color, as a character, for the color of the bar") + + } + + if (!is.numeric(size_text) | length(size_text) > 1){ + + stop("Please input one numeric value for the text size") + + } + + if (!is.numeric(font_face) | length(font_face) > 1){ + + stop("Please input one numeric value for the font face") + + } + + if (!is.character(color_text)){ + + stop("Please input an existing R color, as a character, for the color of the text") + + } + + if (!is.character(font_style)){ + + stop("Please input an existing font family, as a character, for the color of the bar") + + } + + if (!is.character(line_type)){ + + stop("Please input an existing line style, as a character, for the color of the bar") + + } + + + + if (text_height >=1){ + + warning("text_height should be between 0 and 1, default value for * and around 0.04 for text are advised") + + } + + + + + + if (class(as.list.environment(plot$layers[[1]])$geom)[1] == "GeomPoint"){ # if the ggplot is a dotplot + + coords = ggplot_build(plot)$data[[1]] # get the coordinates of the points + + xcoords = c() + + ycoords = c() + + for (i in groups){ # get the x coordinates of all coordinates in a vector, for the 2 selected groups + + xcoord_temp = unique(coords$x)[i] + + xcoords = append(xcoords, xcoord_temp) + + } + + for (i in c(1,2)){ + + ycoord_temp = max(coords[coords$x == xcoords[i],]$y) # get the y coordinate of the upper point of each group + + ycoords = append(ycoords, ycoord_temp) + + } + + + + y_range = ggplot_build(plot)$layout$panel_scales_y[[1]]$limits # get the total height of the y scale + # panel_ranges in ggplot_build(plot)$layout does not exist anymore ... use panel_scale_y instead + + y_sum = sum(abs(y_range)) + + y_scale = (7.5/100)*y_sum # starting position of the vertical bar (determined % of the total y scale) + + bar_height = y_scale + ((5/100)*y_sum) # final position of the vertical bar (determined % of the total y scale in addition to y_scale) + + + + ycoord_top = max(ycoords) # the bar should take the heighest of the two groups as a reference + + coord_bar = data.frame(x = c(xcoords[1], xcoords[1], xcoords[2], xcoords[2]), y = c(ycoord_top + y_scale, ycoord_top + bar_height, ycoord_top + bar_height, ycoord_top + y_scale)) # final coordinates of the bar + + + + star_x = mean(xcoords) # x coordinate of the text above the bar (in the middle of the two groups) + + star_y = ycoord_top + bar_height + ((2.75/100)*y_sum) # y coordinate of the text above the bar (above the bar by a determined factor) + + coord_star = c(star_x, star_y) # x,y coordinates of the text above the bar + + + + plot = plot + geom_path(data = coord_bar, aes(x=x, y=y), size = size_bar, color = color_bar, linetype = line_type) + annotate("text", x = star_x, y = star_y, label = text, size = size_text, color = color_text, fontface = font_face, family = font_style) # create the new ggplot + + print(plot) + + + + } else if (class(as.list.environment(plot$layers[[1]])$geom)[1] == "GeomBar") { # if the ggplot is a dotplot + + coords = ggplot_build(plot)$data[[1]] + + xcoords = c() + + ycoords = c() + + for (i in groups){ # get the x and y coordinates of the two groups + + xcoord_temp = mean(c(coords[i,]$xmin, coords[i,]$xmax)) + + xcoords = append(xcoords, xcoord_temp) + + ycoord_temp = coords[i,7] # The position of ymax in ggplot_build(plot)$data[[1]] changed from column 6 to 7 + + ycoords = append(ycoords, ycoord_temp) + + } + + + + y_range = ggplot_build(plot)$layout$panel_scales_y[[1]]$limits # get the total height of the y scale + + y_sum = sum(abs(y_range)) + + y_scale = (7.5/100)*y_sum # starting position of the vertical bar (determined % of the total y scale) + + bar_height = y_scale + ((5/100)*y_sum) # final position of the vertical bar (determined % of the total y scale in addition to y_scale) + + + + ycoord_top = max(ycoords) # the bar should take the heighest of the two groups as a reference + + coord_bar = data.frame(x = c(xcoords[1], xcoords[1], xcoords[2], xcoords[2]), y = c(ycoord_top + y_scale, ycoord_top + bar_height, ycoord_top + bar_height, ycoord_top + y_scale)) # final coordinates of the bar + + + + star_x = mean(xcoords) # x coordinate of the text above the bar (in the middle of the two groups) + + star_y = ycoord_top + bar_height + (text_height*y_sum) # y coordinate of the text above the bar (above the bar by a determined factor) + + coord_star = c(star_x, star_y) # x,y coordinates of the text above the bar + + + + plot = plot + geom_path(data = coord_bar, aes(x=x, y=y), size = size_bar, color = color_bar, linetype = line_type) + annotate("text", x = star_x, y = star_y, label = text, size = size_text, color = color_text, fontface = font_face, family = font_style) # create the new ggplot + + print(plot) + + } + +} +``` + + +```{r} +gg<- ggplot(c, aes(x = c..aa....ap.., y = as.numeric(m_duree_appel)))+ + geom_bar(stat = "identity")+ + geom_errorbar(ymin = m_duree_appel-sd_duree_appel, ymax = m_duree_appel+sd_duree_appel)+ + ylim(-500,5000)+ + labs(title="Duree appel") +significativity_bar(gg, groups = c(1,2)) +``` + + +### Taux de réponses + +Cette partie c'est juste pour voir si je répond autant aux messages qu'on m'en envoie. +```{r} +Ratio<-df$Messages_recus/df$Messages_envoyes +#Remplacement des NaN et inf (division par 0) en 0. +Ratio[is.na(Ratio)]<-0 +Ratio[is.infinite(Ratio)]<-0 +barplot(Ratio) +``` +```{r} +mean(Ratio) +``` +En moyenne c'est assez équilibré : je réponds autant de fois qu'on m'envoie un message. + +## Conclusion + +__J'ai passé pas mal de temps à faire ça mais ça m'a permis de bien prendre en main l'outil. +Je conçois que mon étude est assez sale et que les manières de plotter ne sont vraiment pas optimisées mais ce n'était pas vraiment le but de l'exercice.__ + +__Après avoir compilé, je n'ai pas pû le faire en pdf (des erreurs de polices qui ne passent pas avec LaTeX on dirait ...). +Aussi, j'ai remarqué qu'il fallait laissé un retour chariot après la visualisation du plot sinon le texte se met à côté dans le rendu.__ diff --git a/module2/exo4/test-notebook.knit.md b/module2/exo4/test-notebook.knit.md new file mode 100644 index 0000000..817d160 --- /dev/null +++ b/module2/exo4/test-notebook.knit.md @@ -0,0 +1,620 @@ +--- +title: "R Notebook" +output: + pdf_document: default + html_notebook: default +--- + + +## L'étude +Cette étude consiste à évaluer mon usage du téléphone depuis le 25 février 2020 pour établir un lien entre la mise en place du confinement le 17 mars 2020 et mon usage téléphonique. + +## Le fichier de données +Le fichier de données ci-après est une table représentant différents paramètres chaque jour depuis le 25/02/2020 : +- Le nombre d'appels émis : Appels\_emis +- Le nombre d'appels reçus : Appels\_recus (Comprends aussi les appels manqués) +- La durée totale des appels de la journée en seconde : Duree\_appels +- Le nombre de messages reçus : Messages\_recus +- Le nombre de messages envoyés : Messages\_envoyes + +Le fichier peut être importé comme ceci : + +```r +df<-read.csv("C:/Users/Marc/Desktop/MOOC/mooc-rr/module2/exo4/Book1.csv", sep = ";") +head(df) +``` + +``` +## ï..Date Appels_emis Appels_recus Duree_appel Messages_recus +## 1 25/02/2020 0 0 0 6 +## 2 26/02/2020 1 1 5 3 +## 3 27/02/2020 0 0 0 3 +## 4 28/02/2020 0 0 0 0 +## 5 29/02/2020 3 1 3470 1 +## 6 01/03/2020 1 1 141 15 +## Messages_envoyes +## 1 4 +## 2 4 +## 3 2 +## 4 0 +## 5 0 +## 6 7 +``` + +## L'analyse de l'usage téléphonique + +Tout d'abord on peut plotter les différents paramètres au cours du temps pour se donner un aperçu de mon usage : + +1. Les appels émis + +```r +barplot(df$Appels_emis, names.arg = df$ï..Date) +``` + +![](test-notebook_files/figure-latex/unnamed-chunk-2-1.pdf) + +Les dates sont mal positionnées mais c'est pas grave. Il semble que j'ai beaucoup appelé autour de la date du 17 mars. + +2. Appels reçus + +```r +barplot(df$Appels_recus, names.arg = df$ï..Date) +``` + +![](test-notebook_files/figure-latex/unnamed-chunk-3-1.pdf) + +Il semble que j'ai reçu beaucoup d'appels la veille du 17 mars puis que j'ai reçu + d'appels en général après cette période qu'avant. + +3. Durée appel + +```r +barplot(df$Duree_appel, names.arg = df$ï..Date) +``` + +![](test-notebook_files/figure-latex/unnamed-chunk-4-1.pdf) + +Là c'est très voyant. J'ai passé beaucoup de temps au téléphone après le 16 mars comparé à avant (sauf 2 fois). + +4. Messages reçus + +```r +barplot(df$Messages_recus, names.arg = df$ï..Date) +``` + +![](test-notebook_files/figure-latex/unnamed-chunk-5-1.pdf) + +5. Messages envoyés + +```r +barplot(df$Messages_envoyes, names.arg = df$ï..Date) +``` + +![](test-notebook_files/figure-latex/unnamed-chunk-6-1.pdf) + +Pour les messages, la tendance est inverse aux appels : je reçois et envoie - de sms depuis le 17 mars comparé à avant. +J'ai eput être changé mon usage de l'un à l'autre. +Sauf autour du 16-17 mars où j'ai beaucoup communiqué. + +### Représentation des moyennes avant et après le 17 mars +Je vais rajouté une colonne pour indiqué avant ou après le 17 mars. + +```r +add<-c(rep("avant",21), rep("après",21)) +df$add<-add +``` +Oui je sais c'est vraiment nul mais en gros je sais qu'il y a 42 lignes dans mon tableau (je peux le vérifier avec `length(df$Appels_emis)` par exemple) et que le 17 mars est la 22ème ligne. +J'ai donc ajouté 21 fois "avant" et 21 fois "après" sur une colonne dans mon data frame df. + + +Maintenant on va pouvoir calculer les moyennes des paramètres avant et après (inclus) le 17 mars 2020. + +```r +m_appels_emis<-c(mean(df$Appels_emis[df$add=="avant"]), mean(df$Appels_emis[df$add=="après"])) +m_appels_recus<-c(mean(df$Appels_recus[df$add=="avant"]), mean(df$Appels_recus[df$add=="après"])) +m_duree_appel<-c(mean(df$Duree_appel[df$add=="avant"]), mean(df$Duree_appel[df$add=="après"])) +m_messages_recus<-c(mean(df$Messages_recus[df$add=="avant"]), mean(df$Messages_recus[df$add=="après"])) +m_messages_envoyes<-c(mean(df$Messages_envoyes[df$add=="avant"]), mean(df$Messages_envoyes[df$add=="après"])) +m_appels_emis +``` + +``` +## [1] 1.142857 1.523810 +``` + +```r +m_appels_recus +``` + +``` +## [1] 0.8095238 1.1904762 +``` + +```r +m_messages_recus +``` + +``` +## [1] 6.285714 2.761905 +``` + +```r +m_messages_envoyes +``` + +``` +## [1] 5.285714 1.523810 +``` +Et les écarts-types : + +```r +sd_appels_emis<-c(sd(df$Appels_emis[df$add=="avant"]), sd(df$Appels_emis[df$add=="après"])) +sd_appels_recus<-c(sd(df$Appels_recus[df$add=="avant"]), sd(df$Appels_recus[df$add=="après"])) +sd_duree_appel<-c(sd(df$Duree_appel[df$add=="avant"]), sd(df$Duree_appel[df$add=="après"])) +sd_messages_recus<-c(sd(df$Messages_recus[df$add=="avant"]), sd(df$Messages_recus[df$add=="après"])) +sd_messages_envoyes<-c(sd(df$Messages_envoyes[df$add=="avant"]), sd(df$Messages_envoyes[df$add=="après"])) +``` + + +Maintenant on va pouvoir plotter les moyennes de tous les paramètres avant et après (inclus) le 17 mars 2020. +Le mieux c'est d'utiliser ggplot. + +```r +#install.packages("ggplot2") +library(ggplot2) +a<-data.frame(m_appels_emis, sd_appels_emis, c("aa", "ap")) +ggplot(a, aes(x = a$c..aa....ap.., y = m_appels_emis))+ + geom_bar(stat = "identity")+ + geom_errorbar(ymin = a$m_appels_emis-a$sd_appels_emis, ymax = a$m_appels_emis+a$sd_appels_emis)+ + ylim(-1,4)+ + labs(title="Appels émis") +``` + +``` +## Warning: Use of `a$c..aa....ap..` is discouraged. Use `c..aa....ap..` instead. + +## Warning: Use of `a$c..aa....ap..` is discouraged. Use `c..aa....ap..` instead. +``` + +![](test-notebook_files/figure-latex/unnamed-chunk-10-1.pdf) + +```r +b<-data.frame(m_appels_recus, sd_appels_recus, c("aa", "ap")) +ggplot(b, aes(x = b$c..aa....ap.., y = b$m_appels_recus))+ + geom_bar(stat = "identity")+ + geom_errorbar(ymin = b$m_appels_recus-b$sd_appels_recus, ymax = b$m_appels_recus+b$sd_appels_recus)+ + ylim(-1,3)+ + labs(title="Appels recus") +``` + +``` +## Warning: Use of `b$c..aa....ap..` is discouraged. Use `c..aa....ap..` instead. +``` + +``` +## Warning: Use of `b$m_appels_recus` is discouraged. Use `m_appels_recus` instead. +``` + +``` +## Warning: Use of `b$c..aa....ap..` is discouraged. Use `c..aa....ap..` instead. +``` + +``` +## Warning: Use of `b$m_appels_recus` is discouraged. Use `m_appels_recus` instead. +``` + +![](test-notebook_files/figure-latex/unnamed-chunk-11-1.pdf) + +```r +c<-data.frame(m_duree_appel, sd_duree_appel, c("aa", "ap")) +ggplot(c, aes(x = c$c..aa....ap.., y = c$m_duree_appel))+ + geom_bar(stat = "identity")+ + geom_errorbar(ymin = c$m_duree_appel-c$sd_duree_appel, ymax = c$m_duree_appel+c$sd_duree_appel)+ + ylim(-500,2000)+ + labs(title="Duree appel") +``` + +``` +## Warning: Use of `c$c..aa....ap..` is discouraged. Use `c..aa....ap..` instead. +``` + +``` +## Warning: Use of `c$m_duree_appel` is discouraged. Use `m_duree_appel` instead. +``` + +``` +## Warning: Use of `c$c..aa....ap..` is discouraged. Use `c..aa....ap..` instead. +``` + +``` +## Warning: Use of `c$m_duree_appel` is discouraged. Use `m_duree_appel` instead. +``` + +![](test-notebook_files/figure-latex/unnamed-chunk-12-1.pdf) + +```r +d<-data.frame(m_messages_envoyes, sd_messages_envoyes, c("aa", "ap")) +ggplot(d, aes(x = d$c..aa....ap.., y = d$m_messages_envoyes))+ + geom_bar(stat = "identity")+ + geom_errorbar(ymin = d$m_messages_envoyes-d$sd_messages_envoyes, ymax = d$m_messages_envoyes+d$sd_messages_envoyes)+ + ylim(0,12)+ + labs(title="Messages envoyes") +``` + +``` +## Warning: Use of `d$c..aa....ap..` is discouraged. Use `c..aa....ap..` instead. +``` + +``` +## Warning: Use of `d$m_messages_envoyes` is discouraged. Use `m_messages_envoyes` +## instead. +``` + +``` +## Warning: Use of `d$c..aa....ap..` is discouraged. Use `c..aa....ap..` instead. +``` + +``` +## Warning: Use of `d$m_messages_envoyes` is discouraged. Use `m_messages_envoyes` +## instead. +``` + +![](test-notebook_files/figure-latex/unnamed-chunk-13-1.pdf) + +```r +e<-data.frame(m_messages_recus, sd_messages_recus, c("aa", "ap")) +ggplot(e, aes(x = e$c..aa....ap.., y = e$m_messages_recus))+ + geom_bar(stat = "identity")+ + geom_errorbar(ymin = e$m_messages_recus-e$sd_messages_recus, ymax = e$m_messages_recus+e$sd_messages_recus)+ + ylim(-2,12)+ + labs(title="Messages recus") +``` + +``` +## Warning: Use of `e$c..aa....ap..` is discouraged. Use `c..aa....ap..` instead. +``` + +``` +## Warning: Use of `e$m_messages_recus` is discouraged. Use `m_messages_recus` +## instead. +``` + +``` +## Warning: Use of `e$c..aa....ap..` is discouraged. Use `c..aa....ap..` instead. +``` + +``` +## Warning: Use of `e$m_messages_recus` is discouraged. Use `m_messages_recus` +## instead. +``` + +![](test-notebook_files/figure-latex/unnamed-chunk-14-1.pdf) + +__Bilan : On voit des augmentations dans les appels et une diminution dans les messages mais les écarts types sont énormes__ + +A mon avis, rien n'est significatif mais on peut s'entrainer sur un cas. +Comme il n'y a que 21 valeurs dans chaque groupe, je ne peux pas appliquer le théorème central limite. Je vais donc vérifier la distribution normale de chaque groupe ainsi que l'égalité des variances pour voir quel test statistique appliqué. +Prenons comme exemple la durée de l'appel. + +```r +shapiro.test(df$Duree_appel[df$add=="avant"]) +``` + +``` +## +## Shapiro-Wilk normality test +## +## data: df$Duree_appel[df$add == "avant"] +## W = 0.53087, p-value = 3.968e-07 +``` + +```r +shapiro.test(df$Duree_appel[df$add=="après"]) +``` + +``` +## +## Shapiro-Wilk normality test +## +## data: df$Duree_appel[df$add == "après"] +## W = 0.88753, p-value = 0.0202 +``` +Les tests de Shapiro-Wilk sont significatifs donc les distributions ne sont pas normales. +Utilisation de tests non paramétriques type Mann-Whitney : + +```r +wilcox.test(df$Duree_appel[df$add=="avant"],df$Duree_appel[df$add=="après"]) +``` + +``` +## Warning in wilcox.test.default(df$Duree_appel[df$add == "avant"], +## df$Duree_appel[df$add == : cannot compute exact p-value with ties +``` + +``` +## +## Wilcoxon rank sum test with continuity correction +## +## data: df$Duree_appel[df$add == "avant"] and df$Duree_appel[df$add == "après"] +## W = 140.5, p-value = 0.03965 +## alternative hypothesis: true location shift is not equal to 0 +``` +Ah ben en fait la durée des appels a significativement augmentée après le 17 mars 2020. Je ne suis pas super fort en statistiques donc j'espère que c'est correct. Aussi, 21 échantillons par groupe c'est pas mal pour un test non paramétrique. + +Du coup on va essayer de mettre une étoile sur le plot (ce qui n'est pas compris dans les fonctions ggplot). +Pour cela on va donc tester le code d'un ami disponible sur [Github](https://github.com/EvenStar69/significativity.bar). + +```r +#install.packages("devtools") +library(devtools) +``` + +``` +## Loading required package: usethis +``` + +```r +#Besoin de Rtools 3.5 +#install_github("EvenStar69/significativity.bar/significativity.bar") +library(significativity.bar) +``` +Bon j'ai dû un peu changer sa fonction parce qu'elle n'est plus compatible avec ggplot 3.3. +J'ai changé la manière de retrouver les coordonnées y : The position of ymax in ggplot\_build(plot)\$data[[1]] changed from column 6 to 7. +Et j'ai changé la manière de retrouver l'échalle en y : panel_ranges in ggplot\_build(plot)\$layout does not exist anymore ... use panel\_scale\_y instead. +J'ai aussi dû mettre à jour R vers la version 3.6.3. +Voici le code modifié de sa fonction : + +```r +significativity_bar <- function(plot, groups, text = "*", text_height = 0.0275, size_bar = 1, color_bar = "black", size_text = 8, color_text = "black", font_face = 1, font_style = "serif", line_type = "solid"){ + + + + if (!require("ggplot2", character.only=T, quietly=T)){ # use library ggplot + + install.packages("ggplot2") + + library(ggplot2, character.only=T) + + } + + + + if (class(plot)[1] != "gg"){ + + stop("Your input plot is not a ggplot") + + } + + if (length(groups) != 2){ + + stop("Please select only 2 groups between which you want the error bar") + + } + + if (!is.vector(groups)){ + + stop("Please input your 2 selected groups in a vector") + + } + + if (!is.character(text)) { + + stop("Please input the text above the bar as character") + + } + + if (!is.numeric(text_height) | length(text_height) > 1){ + + stop("Please input one numeric value for the text height") + + } + + if (!is.numeric(size_bar) | length(size_bar) > 1){ + + stop("Please input one numeric value for the bar size") + + } + + if (!is.character(color_bar)){ + + stop("Please input an existing R color, as a character, for the color of the bar") + + } + + if (!is.numeric(size_text) | length(size_text) > 1){ + + stop("Please input one numeric value for the text size") + + } + + if (!is.numeric(font_face) | length(font_face) > 1){ + + stop("Please input one numeric value for the font face") + + } + + if (!is.character(color_text)){ + + stop("Please input an existing R color, as a character, for the color of the text") + + } + + if (!is.character(font_style)){ + + stop("Please input an existing font family, as a character, for the color of the bar") + + } + + if (!is.character(line_type)){ + + stop("Please input an existing line style, as a character, for the color of the bar") + + } + + + + if (text_height >=1){ + + warning("text_height should be between 0 and 1, default value for * and around 0.04 for text are advised") + + } + + + + + + if (class(as.list.environment(plot$layers[[1]])$geom)[1] == "GeomPoint"){ # if the ggplot is a dotplot + + coords = ggplot_build(plot)$data[[1]] # get the coordinates of the points + + xcoords = c() + + ycoords = c() + + for (i in groups){ # get the x coordinates of all coordinates in a vector, for the 2 selected groups + + xcoord_temp = unique(coords$x)[i] + + xcoords = append(xcoords, xcoord_temp) + + } + + for (i in c(1,2)){ + + ycoord_temp = max(coords[coords$x == xcoords[i],]$y) # get the y coordinate of the upper point of each group + + ycoords = append(ycoords, ycoord_temp) + + } + + + + y_range = ggplot_build(plot)$layout$panel_scales_y[[1]]$limits # get the total height of the y scale + # panel_ranges in ggplot_build(plot)$layout does not exist anymore ... use panel_scale_y instead + + y_sum = sum(abs(y_range)) + + y_scale = (7.5/100)*y_sum # starting position of the vertical bar (determined % of the total y scale) + + bar_height = y_scale + ((5/100)*y_sum) # final position of the vertical bar (determined % of the total y scale in addition to y_scale) + + + + ycoord_top = max(ycoords) # the bar should take the heighest of the two groups as a reference + + coord_bar = data.frame(x = c(xcoords[1], xcoords[1], xcoords[2], xcoords[2]), y = c(ycoord_top + y_scale, ycoord_top + bar_height, ycoord_top + bar_height, ycoord_top + y_scale)) # final coordinates of the bar + + + + star_x = mean(xcoords) # x coordinate of the text above the bar (in the middle of the two groups) + + star_y = ycoord_top + bar_height + ((2.75/100)*y_sum) # y coordinate of the text above the bar (above the bar by a determined factor) + + coord_star = c(star_x, star_y) # x,y coordinates of the text above the bar + + + + plot = plot + geom_path(data = coord_bar, aes(x=x, y=y), size = size_bar, color = color_bar, linetype = line_type) + annotate("text", x = star_x, y = star_y, label = text, size = size_text, color = color_text, fontface = font_face, family = font_style) # create the new ggplot + + print(plot) + + + + } else if (class(as.list.environment(plot$layers[[1]])$geom)[1] == "GeomBar") { # if the ggplot is a dotplot + + coords = ggplot_build(plot)$data[[1]] + + xcoords = c() + + ycoords = c() + + for (i in groups){ # get the x and y coordinates of the two groups + + xcoord_temp = mean(c(coords[i,]$xmin, coords[i,]$xmax)) + + xcoords = append(xcoords, xcoord_temp) + + ycoord_temp = coords[i,7] # The position of ymax in ggplot_build(plot)$data[[1]] changed from column 6 to 7 + + ycoords = append(ycoords, ycoord_temp) + + } + + + + y_range = ggplot_build(plot)$layout$panel_scales_y[[1]]$limits # get the total height of the y scale + + y_sum = sum(abs(y_range)) + + y_scale = (7.5/100)*y_sum # starting position of the vertical bar (determined % of the total y scale) + + bar_height = y_scale + ((5/100)*y_sum) # final position of the vertical bar (determined % of the total y scale in addition to y_scale) + + + + ycoord_top = max(ycoords) # the bar should take the heighest of the two groups as a reference + + coord_bar = data.frame(x = c(xcoords[1], xcoords[1], xcoords[2], xcoords[2]), y = c(ycoord_top + y_scale, ycoord_top + bar_height, ycoord_top + bar_height, ycoord_top + y_scale)) # final coordinates of the bar + + + + star_x = mean(xcoords) # x coordinate of the text above the bar (in the middle of the two groups) + + star_y = ycoord_top + bar_height + (text_height*y_sum) # y coordinate of the text above the bar (above the bar by a determined factor) + + coord_star = c(star_x, star_y) # x,y coordinates of the text above the bar + + + + plot = plot + geom_path(data = coord_bar, aes(x=x, y=y), size = size_bar, color = color_bar, linetype = line_type) + annotate("text", x = star_x, y = star_y, label = text, size = size_text, color = color_text, fontface = font_face, family = font_style) # create the new ggplot + + print(plot) + + } + +} +``` + + + +```r +gg<- ggplot(c, aes(x = c..aa....ap.., y = as.numeric(m_duree_appel)))+ + geom_bar(stat = "identity")+ + geom_errorbar(ymin = m_duree_appel-sd_duree_appel, ymax = m_duree_appel+sd_duree_appel)+ + ylim(-500,5000)+ + labs(title="Duree appel") +significativity_bar(gg, groups = c(1,2)) +``` + +![](test-notebook_files/figure-latex/unnamed-chunk-19-1.pdf) + + +### Taux de réponses + +Cette partie c'est juste pour voir si je répond autant aux messages qu'on m'en envoie. + +```r +Ratio<-df$Messages_recus/df$Messages_envoyes +#Remplacement des NaN et inf (division par 0) en 0. +Ratio[is.na(Ratio)]<-0 +Ratio[is.infinite(Ratio)]<-0 +barplot(Ratio) +``` + +![](test-notebook_files/figure-latex/unnamed-chunk-20-1.pdf) + +```r +mean(Ratio) +``` + +``` +## [1] 1.067513 +``` +En moyenne c'est assez équilibré : je réponds autant de fois qu'on m'envoie un message. + +## Conclusion + +__J'ai passé pas mal de temps à faire ça mais ça m'a permis de bien prendre en main l'outil. +Je conçois que mon étude est assez sale et que les manières de plotter ne sont vraiment pas optimisées mais ce n'était pas vraiment le but de l'exercice.__ + +__Après avoir compilé, je n'ai pas pû le faire en pdf (des erreurs de polices qui ne passent pas avec LaTeX on dirait ...). +Aussi, j'ai remarqué qu'il fallait laissé un retour chariot après la visualisation du plot sinon le texte se met à côté dans le rendu.__ diff --git a/module2/exo4/test-notebook.pdf b/module2/exo4/test-notebook.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2c7b0aea5f9e243ef52e83bf63bd6555c625a651 GIT binary patch literal 281576 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 b1g=v>=%;Vk-5Jn~0e;nC$`mU{Yvum~UdF6Z literal 0 HcmV?d00001 diff --git a/module2/exo4/test-notebook.tex b/module2/exo4/test-notebook.tex new file mode 100644 index 0000000..8fdb97a --- /dev/null +++ b/module2/exo4/test-notebook.tex @@ -0,0 +1,853 @@ +% Options for packages loaded elsewhere +\PassOptionsToPackage{unicode}{hyperref} +\PassOptionsToPackage{hyphens}{url} +% +\documentclass[ +]{article} +\usepackage{lmodern} +\usepackage{amssymb,amsmath} +\usepackage{ifxetex,ifluatex} +\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex + \usepackage[T1]{fontenc} + \usepackage[utf8]{inputenc} + \usepackage{textcomp} % provide euro and other symbols +\else % if luatex or xetex + \usepackage{unicode-math} + \defaultfontfeatures{Scale=MatchLowercase} + \defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1} +\fi +% Use upquote if available, for straight quotes in verbatim environments +\IfFileExists{upquote.sty}{\usepackage{upquote}}{} +\IfFileExists{microtype.sty}{% use microtype if available + \usepackage[]{microtype} + \UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts +}{} +\makeatletter +\@ifundefined{KOMAClassName}{% if non-KOMA class + \IfFileExists{parskip.sty}{% + \usepackage{parskip} + }{% else + \setlength{\parindent}{0pt} + \setlength{\parskip}{6pt plus 2pt minus 1pt}} +}{% if KOMA class + \KOMAoptions{parskip=half}} +\makeatother +\usepackage{xcolor} +\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available +\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}} +\hypersetup{ + pdftitle={R Notebook}, + hidelinks, + pdfcreator={LaTeX via pandoc}} +\urlstyle{same} % disable monospaced font for URLs +\usepackage[margin=1in]{geometry} +\usepackage{color} +\usepackage{fancyvrb} +\newcommand{\VerbBar}{|} +\newcommand{\VERB}{\Verb[commandchars=\\\{\}]} +\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}} +% Add ',fontsize=\small' for more characters per line +\usepackage{framed} +\definecolor{shadecolor}{RGB}{248,248,248} +\newenvironment{Shaded}{\begin{snugshade}}{\end{snugshade}} +\newcommand{\AlertTok}[1]{\textcolor[rgb]{0.94,0.16,0.16}{#1}} +\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{#1}}}} +\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.77,0.63,0.00}{#1}} +\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.00,0.00,0.81}{#1}} +\newcommand{\BuiltInTok}[1]{#1} +\newcommand{\CharTok}[1]{\textcolor[rgb]{0.31,0.60,0.02}{#1}} +\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textit{#1}}} +\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{#1}}}} +\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.00,0.00,0.00}{#1}} +\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.13,0.29,0.53}{\textbf{#1}}} +\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.13,0.29,0.53}{#1}} +\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.00,0.00,0.81}{#1}} +\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{#1}}}} +\newcommand{\ErrorTok}[1]{\textcolor[rgb]{0.64,0.00,0.00}{\textbf{#1}}} +\newcommand{\ExtensionTok}[1]{#1} +\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.00,0.00,0.81}{#1}} +\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.00,0.00,0.00}{#1}} +\newcommand{\ImportTok}[1]{#1} +\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{#1}}}} +\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.13,0.29,0.53}{\textbf{#1}}} +\newcommand{\NormalTok}[1]{#1} +\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.81,0.36,0.00}{\textbf{#1}}} +\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{#1}} +\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textit{#1}}} +\newcommand{\RegionMarkerTok}[1]{#1} +\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.00,0.00,0.00}{#1}} +\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.31,0.60,0.02}{#1}} +\newcommand{\StringTok}[1]{\textcolor[rgb]{0.31,0.60,0.02}{#1}} +\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.00,0.00,0.00}{#1}} +\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.31,0.60,0.02}{#1}} +\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{#1}}}} +\usepackage{graphicx} +\makeatletter +\def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi} +\def\maxheight{\ifdim\Gin@nat@height>\textheight\textheight\else\Gin@nat@height\fi} +\makeatother +% Scale images if necessary, so that they will not overflow the page +% margins by default, and it is still possible to overwrite the defaults +% using explicit options in \includegraphics[width, height, ...]{} +\setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio} +% Set default figure placement to htbp +\makeatletter +\def\fps@figure{htbp} +\makeatother +\setlength{\emergencystretch}{3em} % prevent overfull lines +\providecommand{\tightlist}{% + \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} +\setcounter{secnumdepth}{-\maxdimen} % remove section numbering + +\title{R Notebook} +\author{} +\date{} + +\begin{document} +\maketitle + +\hypertarget{luxe9tude}{% +\subsection{L'étude}\label{luxe9tude}} + +Cette étude consiste à évaluer mon usage du téléphone depuis le 25 +février 2020 pour établir un lien entre la mise en place du confinement +le 17 mars 2020 et mon usage téléphonique. + +\hypertarget{le-fichier-de-donnuxe9es}{% +\subsection{Le fichier de données}\label{le-fichier-de-donnuxe9es}} + +Le fichier de données ci-après est une table représentant différents +paramètres chaque jour depuis le 25/02/2020 :\\ +- Le nombre d'appels émis : Appels\_emis\\ +- Le nombre d'appels reçus : Appels\_recus (Comprends aussi les appels +manqués)\\ +- La durée totale des appels de la journée en seconde : Duree\_appels\\ +- Le nombre de messages reçus : Messages\_recus\\ +- Le nombre de messages envoyés : Messages\_envoyes + +Le fichier peut être importé comme ceci : + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{df\textless{}{-}}\KeywordTok{read.csv}\NormalTok{(}\StringTok{"C:/Users/Marc/Desktop/MOOC/mooc{-}rr/module2/exo4/Book1.csv"}\NormalTok{, }\DataTypeTok{sep =} \StringTok{";"}\NormalTok{)} +\KeywordTok{head}\NormalTok{(df)} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## ï..Date Appels_emis Appels_recus Duree_appel Messages_recus +## 1 25/02/2020 0 0 0 6 +## 2 26/02/2020 1 1 5 3 +## 3 27/02/2020 0 0 0 3 +## 4 28/02/2020 0 0 0 0 +## 5 29/02/2020 3 1 3470 1 +## 6 01/03/2020 1 1 141 15 +## Messages_envoyes +## 1 4 +## 2 4 +## 3 2 +## 4 0 +## 5 0 +## 6 7 +\end{verbatim} + +\hypertarget{lanalyse-de-lusage-tuxe9luxe9phonique}{% +\subsection{L'analyse de l'usage +téléphonique}\label{lanalyse-de-lusage-tuxe9luxe9phonique}} + +Tout d'abord on peut plotter les différents paramètres au cours du temps +pour se donner un aperçu de mon usage : + +\begin{enumerate} +\def\labelenumi{\arabic{enumi}.} +\tightlist +\item + Les appels émis +\end{enumerate} + +\begin{Shaded} +\begin{Highlighting}[] +\KeywordTok{barplot}\NormalTok{(df}\OperatorTok{$}\NormalTok{Appels\_emis, }\DataTypeTok{names.arg =}\NormalTok{ df}\OperatorTok{$}\NormalTok{ï..Date)} +\end{Highlighting} +\end{Shaded} + +\includegraphics{test-notebook_files/figure-latex/unnamed-chunk-2-1.pdf} + +Les dates sont mal positionnées mais c'est pas grave. Il semble que j'ai +beaucoup appelé autour de la date du 17 mars. + +\begin{enumerate} +\def\labelenumi{\arabic{enumi}.} +\setcounter{enumi}{1} +\tightlist +\item + Appels reçus +\end{enumerate} + +\begin{Shaded} +\begin{Highlighting}[] +\KeywordTok{barplot}\NormalTok{(df}\OperatorTok{$}\NormalTok{Appels\_recus, }\DataTypeTok{names.arg =}\NormalTok{ df}\OperatorTok{$}\NormalTok{ï..Date)} +\end{Highlighting} +\end{Shaded} + +\includegraphics{test-notebook_files/figure-latex/unnamed-chunk-3-1.pdf} + +Il semble que j'ai reçu beaucoup d'appels la veille du 17 mars puis que +j'ai reçu + d'appels en général après cette période qu'avant. + +\begin{enumerate} +\def\labelenumi{\arabic{enumi}.} +\setcounter{enumi}{2} +\tightlist +\item + Durée appel +\end{enumerate} + +\begin{Shaded} +\begin{Highlighting}[] +\KeywordTok{barplot}\NormalTok{(df}\OperatorTok{$}\NormalTok{Duree\_appel, }\DataTypeTok{names.arg =}\NormalTok{ df}\OperatorTok{$}\NormalTok{ï..Date)} +\end{Highlighting} +\end{Shaded} + +\includegraphics{test-notebook_files/figure-latex/unnamed-chunk-4-1.pdf} + +Là c'est très voyant. J'ai passé beaucoup de temps au téléphone après le +16 mars comparé à avant (sauf 2 fois). + +\begin{enumerate} +\def\labelenumi{\arabic{enumi}.} +\setcounter{enumi}{3} +\tightlist +\item + Messages reçus +\end{enumerate} + +\begin{Shaded} +\begin{Highlighting}[] +\KeywordTok{barplot}\NormalTok{(df}\OperatorTok{$}\NormalTok{Messages\_recus, }\DataTypeTok{names.arg =}\NormalTok{ df}\OperatorTok{$}\NormalTok{ï..Date)} +\end{Highlighting} +\end{Shaded} + +\includegraphics{test-notebook_files/figure-latex/unnamed-chunk-5-1.pdf} + +\begin{enumerate} +\def\labelenumi{\arabic{enumi}.} +\setcounter{enumi}{4} +\tightlist +\item + Messages envoyés +\end{enumerate} + +\begin{Shaded} +\begin{Highlighting}[] +\KeywordTok{barplot}\NormalTok{(df}\OperatorTok{$}\NormalTok{Messages\_envoyes, }\DataTypeTok{names.arg =}\NormalTok{ df}\OperatorTok{$}\NormalTok{ï..Date)} +\end{Highlighting} +\end{Shaded} + +\includegraphics{test-notebook_files/figure-latex/unnamed-chunk-6-1.pdf} + +Pour les messages, la tendance est inverse aux appels : je reçois et +envoie - de sms depuis le 17 mars comparé à avant.\\ +J'ai eput être changé mon usage de l'un à l'autre.\\ +Sauf autour du 16-17 mars où j'ai beaucoup communiqué. + +\hypertarget{repruxe9sentation-des-moyennes-avant-et-apruxe8s-le-17-mars}{% +\subsubsection{Représentation des moyennes avant et après le 17 +mars}\label{repruxe9sentation-des-moyennes-avant-et-apruxe8s-le-17-mars}} + +Je vais rajouté une colonne pour indiqué avant ou après le 17 mars. + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{add\textless{}{-}}\KeywordTok{c}\NormalTok{(}\KeywordTok{rep}\NormalTok{(}\StringTok{"avant"}\NormalTok{,}\DecValTok{21}\NormalTok{), }\KeywordTok{rep}\NormalTok{(}\StringTok{"après"}\NormalTok{,}\DecValTok{21}\NormalTok{))} +\NormalTok{df}\OperatorTok{$}\NormalTok{add\textless{}{-}add} +\end{Highlighting} +\end{Shaded} + +Oui je sais c'est vraiment nul mais en gros je sais qu'il y a 42 lignes +dans mon tableau (je peux le vérifier avec +\texttt{length(df\$Appels\_emis)} par exemple) et que le 17 mars est la +22ème ligne.\\ +J'ai donc ajouté 21 fois ``avant'' et 21 fois ``après'' sur une colonne +dans mon data frame df. + +Maintenant on va pouvoir calculer les moyennes des paramètres avant et +après (inclus) le 17 mars 2020. + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{m\_appels\_emis\textless{}{-}}\KeywordTok{c}\NormalTok{(}\KeywordTok{mean}\NormalTok{(df}\OperatorTok{$}\NormalTok{Appels\_emis[df}\OperatorTok{$}\NormalTok{add}\OperatorTok{==}\StringTok{"avant"}\NormalTok{]), }\KeywordTok{mean}\NormalTok{(df}\OperatorTok{$}\NormalTok{Appels\_emis[df}\OperatorTok{$}\NormalTok{add}\OperatorTok{==}\StringTok{"après"}\NormalTok{]))} +\NormalTok{m\_appels\_recus\textless{}{-}}\KeywordTok{c}\NormalTok{(}\KeywordTok{mean}\NormalTok{(df}\OperatorTok{$}\NormalTok{Appels\_recus[df}\OperatorTok{$}\NormalTok{add}\OperatorTok{==}\StringTok{"avant"}\NormalTok{]), }\KeywordTok{mean}\NormalTok{(df}\OperatorTok{$}\NormalTok{Appels\_recus[df}\OperatorTok{$}\NormalTok{add}\OperatorTok{==}\StringTok{"après"}\NormalTok{]))} +\NormalTok{m\_duree\_appel\textless{}{-}}\KeywordTok{c}\NormalTok{(}\KeywordTok{mean}\NormalTok{(df}\OperatorTok{$}\NormalTok{Duree\_appel[df}\OperatorTok{$}\NormalTok{add}\OperatorTok{==}\StringTok{"avant"}\NormalTok{]), }\KeywordTok{mean}\NormalTok{(df}\OperatorTok{$}\NormalTok{Duree\_appel[df}\OperatorTok{$}\NormalTok{add}\OperatorTok{==}\StringTok{"après"}\NormalTok{]))} +\NormalTok{m\_messages\_recus\textless{}{-}}\KeywordTok{c}\NormalTok{(}\KeywordTok{mean}\NormalTok{(df}\OperatorTok{$}\NormalTok{Messages\_recus[df}\OperatorTok{$}\NormalTok{add}\OperatorTok{==}\StringTok{"avant"}\NormalTok{]), }\KeywordTok{mean}\NormalTok{(df}\OperatorTok{$}\NormalTok{Messages\_recus[df}\OperatorTok{$}\NormalTok{add}\OperatorTok{==}\StringTok{"après"}\NormalTok{]))} +\NormalTok{m\_messages\_envoyes\textless{}{-}}\KeywordTok{c}\NormalTok{(}\KeywordTok{mean}\NormalTok{(df}\OperatorTok{$}\NormalTok{Messages\_envoyes[df}\OperatorTok{$}\NormalTok{add}\OperatorTok{==}\StringTok{"avant"}\NormalTok{]), }\KeywordTok{mean}\NormalTok{(df}\OperatorTok{$}\NormalTok{Messages\_envoyes[df}\OperatorTok{$}\NormalTok{add}\OperatorTok{==}\StringTok{"après"}\NormalTok{]))} +\NormalTok{m\_appels\_emis} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## [1] 1.142857 1.523810 +\end{verbatim} + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{m\_appels\_recus} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## [1] 0.8095238 1.1904762 +\end{verbatim} + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{m\_messages\_recus} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## [1] 6.285714 2.761905 +\end{verbatim} + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{m\_messages\_envoyes} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## [1] 5.285714 1.523810 +\end{verbatim} + +Et les écarts-types : + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{sd\_appels\_emis\textless{}{-}}\KeywordTok{c}\NormalTok{(}\KeywordTok{sd}\NormalTok{(df}\OperatorTok{$}\NormalTok{Appels\_emis[df}\OperatorTok{$}\NormalTok{add}\OperatorTok{==}\StringTok{"avant"}\NormalTok{]), }\KeywordTok{sd}\NormalTok{(df}\OperatorTok{$}\NormalTok{Appels\_emis[df}\OperatorTok{$}\NormalTok{add}\OperatorTok{==}\StringTok{"après"}\NormalTok{]))} +\NormalTok{sd\_appels\_recus\textless{}{-}}\KeywordTok{c}\NormalTok{(}\KeywordTok{sd}\NormalTok{(df}\OperatorTok{$}\NormalTok{Appels\_recus[df}\OperatorTok{$}\NormalTok{add}\OperatorTok{==}\StringTok{"avant"}\NormalTok{]), }\KeywordTok{sd}\NormalTok{(df}\OperatorTok{$}\NormalTok{Appels\_recus[df}\OperatorTok{$}\NormalTok{add}\OperatorTok{==}\StringTok{"après"}\NormalTok{]))} +\NormalTok{sd\_duree\_appel\textless{}{-}}\KeywordTok{c}\NormalTok{(}\KeywordTok{sd}\NormalTok{(df}\OperatorTok{$}\NormalTok{Duree\_appel[df}\OperatorTok{$}\NormalTok{add}\OperatorTok{==}\StringTok{"avant"}\NormalTok{]), }\KeywordTok{sd}\NormalTok{(df}\OperatorTok{$}\NormalTok{Duree\_appel[df}\OperatorTok{$}\NormalTok{add}\OperatorTok{==}\StringTok{"après"}\NormalTok{]))} +\NormalTok{sd\_messages\_recus\textless{}{-}}\KeywordTok{c}\NormalTok{(}\KeywordTok{sd}\NormalTok{(df}\OperatorTok{$}\NormalTok{Messages\_recus[df}\OperatorTok{$}\NormalTok{add}\OperatorTok{==}\StringTok{"avant"}\NormalTok{]), }\KeywordTok{sd}\NormalTok{(df}\OperatorTok{$}\NormalTok{Messages\_recus[df}\OperatorTok{$}\NormalTok{add}\OperatorTok{==}\StringTok{"après"}\NormalTok{]))} +\NormalTok{sd\_messages\_envoyes\textless{}{-}}\KeywordTok{c}\NormalTok{(}\KeywordTok{sd}\NormalTok{(df}\OperatorTok{$}\NormalTok{Messages\_envoyes[df}\OperatorTok{$}\NormalTok{add}\OperatorTok{==}\StringTok{"avant"}\NormalTok{]), }\KeywordTok{sd}\NormalTok{(df}\OperatorTok{$}\NormalTok{Messages\_envoyes[df}\OperatorTok{$}\NormalTok{add}\OperatorTok{==}\StringTok{"après"}\NormalTok{]))} +\end{Highlighting} +\end{Shaded} + +Maintenant on va pouvoir plotter les moyennes de tous les paramètres +avant et après (inclus) le 17 mars 2020.\\ +Le mieux c'est d'utiliser ggplot. + +\begin{Shaded} +\begin{Highlighting}[] +\CommentTok{\#install.packages("ggplot2")} +\KeywordTok{library}\NormalTok{(ggplot2)} +\NormalTok{a\textless{}{-}}\KeywordTok{data.frame}\NormalTok{(m\_appels\_emis, sd\_appels\_emis, }\KeywordTok{c}\NormalTok{(}\StringTok{"aa"}\NormalTok{, }\StringTok{"ap"}\NormalTok{))} +\KeywordTok{ggplot}\NormalTok{(a, }\KeywordTok{aes}\NormalTok{(}\DataTypeTok{x =}\NormalTok{ a}\OperatorTok{$}\NormalTok{c..aa....ap.., }\DataTypeTok{y =}\NormalTok{ m\_appels\_emis))}\OperatorTok{+} +\StringTok{ }\KeywordTok{geom\_bar}\NormalTok{(}\DataTypeTok{stat =} \StringTok{"identity"}\NormalTok{)}\OperatorTok{+} +\StringTok{ }\KeywordTok{geom\_errorbar}\NormalTok{(}\DataTypeTok{ymin =}\NormalTok{ a}\OperatorTok{$}\NormalTok{m\_appels\_emis}\OperatorTok{{-}}\NormalTok{a}\OperatorTok{$}\NormalTok{sd\_appels\_emis, }\DataTypeTok{ymax =}\NormalTok{ a}\OperatorTok{$}\NormalTok{m\_appels\_emis}\OperatorTok{+}\NormalTok{a}\OperatorTok{$}\NormalTok{sd\_appels\_emis)}\OperatorTok{+}\StringTok{ } +\StringTok{ }\KeywordTok{ylim}\NormalTok{(}\OperatorTok{{-}}\DecValTok{1}\NormalTok{,}\DecValTok{4}\NormalTok{)}\OperatorTok{+} +\StringTok{ }\KeywordTok{labs}\NormalTok{(}\DataTypeTok{title=}\StringTok{"Appels émis"}\NormalTok{)} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## Warning: Use of `a$c..aa....ap..` is discouraged. Use `c..aa....ap..` instead. + +## Warning: Use of `a$c..aa....ap..` is discouraged. Use `c..aa....ap..` instead. +\end{verbatim} + +\includegraphics{test-notebook_files/figure-latex/unnamed-chunk-10-1.pdf} + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{b\textless{}{-}}\KeywordTok{data.frame}\NormalTok{(m\_appels\_recus, sd\_appels\_recus, }\KeywordTok{c}\NormalTok{(}\StringTok{"aa"}\NormalTok{, }\StringTok{"ap"}\NormalTok{))} +\KeywordTok{ggplot}\NormalTok{(b, }\KeywordTok{aes}\NormalTok{(}\DataTypeTok{x =}\NormalTok{ b}\OperatorTok{$}\NormalTok{c..aa....ap.., }\DataTypeTok{y =}\NormalTok{ b}\OperatorTok{$}\NormalTok{m\_appels\_recus))}\OperatorTok{+} +\StringTok{ }\KeywordTok{geom\_bar}\NormalTok{(}\DataTypeTok{stat =} \StringTok{"identity"}\NormalTok{)}\OperatorTok{+} +\StringTok{ }\KeywordTok{geom\_errorbar}\NormalTok{(}\DataTypeTok{ymin =}\NormalTok{ b}\OperatorTok{$}\NormalTok{m\_appels\_recus}\OperatorTok{{-}}\NormalTok{b}\OperatorTok{$}\NormalTok{sd\_appels\_recus, }\DataTypeTok{ymax =}\NormalTok{ b}\OperatorTok{$}\NormalTok{m\_appels\_recus}\OperatorTok{+}\NormalTok{b}\OperatorTok{$}\NormalTok{sd\_appels\_recus)}\OperatorTok{+}\StringTok{ } +\StringTok{ }\KeywordTok{ylim}\NormalTok{(}\OperatorTok{{-}}\DecValTok{1}\NormalTok{,}\DecValTok{3}\NormalTok{)}\OperatorTok{+} +\StringTok{ }\KeywordTok{labs}\NormalTok{(}\DataTypeTok{title=}\StringTok{"Appels recus"}\NormalTok{)} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## Warning: Use of `b$c..aa....ap..` is discouraged. Use `c..aa....ap..` instead. +\end{verbatim} + +\begin{verbatim} +## Warning: Use of `b$m_appels_recus` is discouraged. Use `m_appels_recus` instead. +\end{verbatim} + +\begin{verbatim} +## Warning: Use of `b$c..aa....ap..` is discouraged. Use `c..aa....ap..` instead. +\end{verbatim} + +\begin{verbatim} +## Warning: Use of `b$m_appels_recus` is discouraged. Use `m_appels_recus` instead. +\end{verbatim} + +\includegraphics{test-notebook_files/figure-latex/unnamed-chunk-11-1.pdf} + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{c\textless{}{-}}\KeywordTok{data.frame}\NormalTok{(m\_duree\_appel, sd\_duree\_appel, }\KeywordTok{c}\NormalTok{(}\StringTok{"aa"}\NormalTok{, }\StringTok{"ap"}\NormalTok{))} +\KeywordTok{ggplot}\NormalTok{(c, }\KeywordTok{aes}\NormalTok{(}\DataTypeTok{x =}\NormalTok{ c}\OperatorTok{$}\NormalTok{c..aa....ap.., }\DataTypeTok{y =}\NormalTok{ c}\OperatorTok{$}\NormalTok{m\_duree\_appel))}\OperatorTok{+} +\StringTok{ }\KeywordTok{geom\_bar}\NormalTok{(}\DataTypeTok{stat =} \StringTok{"identity"}\NormalTok{)}\OperatorTok{+} +\StringTok{ }\KeywordTok{geom\_errorbar}\NormalTok{(}\DataTypeTok{ymin =}\NormalTok{ c}\OperatorTok{$}\NormalTok{m\_duree\_appel}\OperatorTok{{-}}\NormalTok{c}\OperatorTok{$}\NormalTok{sd\_duree\_appel, }\DataTypeTok{ymax =}\NormalTok{ c}\OperatorTok{$}\NormalTok{m\_duree\_appel}\OperatorTok{+}\NormalTok{c}\OperatorTok{$}\NormalTok{sd\_duree\_appel)}\OperatorTok{+}\StringTok{ } +\StringTok{ }\KeywordTok{ylim}\NormalTok{(}\OperatorTok{{-}}\DecValTok{500}\NormalTok{,}\DecValTok{2000}\NormalTok{)}\OperatorTok{+} +\StringTok{ }\KeywordTok{labs}\NormalTok{(}\DataTypeTok{title=}\StringTok{"Duree appel"}\NormalTok{)} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## Warning: Use of `c$c..aa....ap..` is discouraged. Use `c..aa....ap..` instead. +\end{verbatim} + +\begin{verbatim} +## Warning: Use of `c$m_duree_appel` is discouraged. Use `m_duree_appel` instead. +\end{verbatim} + +\begin{verbatim} +## Warning: Use of `c$c..aa....ap..` is discouraged. Use `c..aa....ap..` instead. +\end{verbatim} + +\begin{verbatim} +## Warning: Use of `c$m_duree_appel` is discouraged. Use `m_duree_appel` instead. +\end{verbatim} + +\includegraphics{test-notebook_files/figure-latex/unnamed-chunk-12-1.pdf} + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{d\textless{}{-}}\KeywordTok{data.frame}\NormalTok{(m\_messages\_envoyes, sd\_messages\_envoyes, }\KeywordTok{c}\NormalTok{(}\StringTok{"aa"}\NormalTok{, }\StringTok{"ap"}\NormalTok{))} +\KeywordTok{ggplot}\NormalTok{(d, }\KeywordTok{aes}\NormalTok{(}\DataTypeTok{x =}\NormalTok{ d}\OperatorTok{$}\NormalTok{c..aa....ap.., }\DataTypeTok{y =}\NormalTok{ d}\OperatorTok{$}\NormalTok{m\_messages\_envoyes))}\OperatorTok{+} +\StringTok{ }\KeywordTok{geom\_bar}\NormalTok{(}\DataTypeTok{stat =} \StringTok{"identity"}\NormalTok{)}\OperatorTok{+} +\StringTok{ }\KeywordTok{geom\_errorbar}\NormalTok{(}\DataTypeTok{ymin =}\NormalTok{ d}\OperatorTok{$}\NormalTok{m\_messages\_envoyes}\OperatorTok{{-}}\NormalTok{d}\OperatorTok{$}\NormalTok{sd\_messages\_envoyes, }\DataTypeTok{ymax =}\NormalTok{ d}\OperatorTok{$}\NormalTok{m\_messages\_envoyes}\OperatorTok{+}\NormalTok{d}\OperatorTok{$}\NormalTok{sd\_messages\_envoyes)}\OperatorTok{+}\StringTok{ } +\StringTok{ }\KeywordTok{ylim}\NormalTok{(}\DecValTok{0}\NormalTok{,}\DecValTok{12}\NormalTok{)}\OperatorTok{+} +\StringTok{ }\KeywordTok{labs}\NormalTok{(}\DataTypeTok{title=}\StringTok{"Messages envoyes"}\NormalTok{)} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## Warning: Use of `d$c..aa....ap..` is discouraged. Use `c..aa....ap..` instead. +\end{verbatim} + +\begin{verbatim} +## Warning: Use of `d$m_messages_envoyes` is discouraged. Use `m_messages_envoyes` +## instead. +\end{verbatim} + +\begin{verbatim} +## Warning: Use of `d$c..aa....ap..` is discouraged. Use `c..aa....ap..` instead. +\end{verbatim} + +\begin{verbatim} +## Warning: Use of `d$m_messages_envoyes` is discouraged. Use `m_messages_envoyes` +## instead. +\end{verbatim} + +\includegraphics{test-notebook_files/figure-latex/unnamed-chunk-13-1.pdf} + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{e\textless{}{-}}\KeywordTok{data.frame}\NormalTok{(m\_messages\_recus, sd\_messages\_recus, }\KeywordTok{c}\NormalTok{(}\StringTok{"aa"}\NormalTok{, }\StringTok{"ap"}\NormalTok{))} +\KeywordTok{ggplot}\NormalTok{(e, }\KeywordTok{aes}\NormalTok{(}\DataTypeTok{x =}\NormalTok{ e}\OperatorTok{$}\NormalTok{c..aa....ap.., }\DataTypeTok{y =}\NormalTok{ e}\OperatorTok{$}\NormalTok{m\_messages\_recus))}\OperatorTok{+} +\StringTok{ }\KeywordTok{geom\_bar}\NormalTok{(}\DataTypeTok{stat =} \StringTok{"identity"}\NormalTok{)}\OperatorTok{+} +\StringTok{ }\KeywordTok{geom\_errorbar}\NormalTok{(}\DataTypeTok{ymin =}\NormalTok{ e}\OperatorTok{$}\NormalTok{m\_messages\_recus}\OperatorTok{{-}}\NormalTok{e}\OperatorTok{$}\NormalTok{sd\_messages\_recus, }\DataTypeTok{ymax =}\NormalTok{ e}\OperatorTok{$}\NormalTok{m\_messages\_recus}\OperatorTok{+}\NormalTok{e}\OperatorTok{$}\NormalTok{sd\_messages\_recus)}\OperatorTok{+}\StringTok{ } +\StringTok{ }\KeywordTok{ylim}\NormalTok{(}\OperatorTok{{-}}\DecValTok{2}\NormalTok{,}\DecValTok{12}\NormalTok{)}\OperatorTok{+} +\StringTok{ }\KeywordTok{labs}\NormalTok{(}\DataTypeTok{title=}\StringTok{"Messages recus"}\NormalTok{)} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## Warning: Use of `e$c..aa....ap..` is discouraged. Use `c..aa....ap..` instead. +\end{verbatim} + +\begin{verbatim} +## Warning: Use of `e$m_messages_recus` is discouraged. Use `m_messages_recus` +## instead. +\end{verbatim} + +\begin{verbatim} +## Warning: Use of `e$c..aa....ap..` is discouraged. Use `c..aa....ap..` instead. +\end{verbatim} + +\begin{verbatim} +## Warning: Use of `e$m_messages_recus` is discouraged. Use `m_messages_recus` +## instead. +\end{verbatim} + +\includegraphics{test-notebook_files/figure-latex/unnamed-chunk-14-1.pdf} + +\textbf{Bilan : On voit des augmentations dans les appels et une +diminution dans les messages mais les écarts types sont énormes} + +A mon avis, rien n'est significatif mais on peut s'entrainer sur un +cas.\\ +Comme il n'y a que 21 valeurs dans chaque groupe, je ne peux pas +appliquer le théorème central limite. Je vais donc vérifier la +distribution normale de chaque groupe ainsi que l'égalité des variances +pour voir quel test statistique appliqué.\\ +Prenons comme exemple la durée de l'appel. + +\begin{Shaded} +\begin{Highlighting}[] +\KeywordTok{shapiro.test}\NormalTok{(df}\OperatorTok{$}\NormalTok{Duree\_appel[df}\OperatorTok{$}\NormalTok{add}\OperatorTok{==}\StringTok{"avant"}\NormalTok{])} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## +## Shapiro-Wilk normality test +## +## data: df$Duree_appel[df$add == "avant"] +## W = 0.53087, p-value = 3.968e-07 +\end{verbatim} + +\begin{Shaded} +\begin{Highlighting}[] +\KeywordTok{shapiro.test}\NormalTok{(df}\OperatorTok{$}\NormalTok{Duree\_appel[df}\OperatorTok{$}\NormalTok{add}\OperatorTok{==}\StringTok{"après"}\NormalTok{])} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## +## Shapiro-Wilk normality test +## +## data: df$Duree_appel[df$add == "après"] +## W = 0.88753, p-value = 0.0202 +\end{verbatim} + +Les tests de Shapiro-Wilk sont significatifs donc les distributions ne +sont pas normales.\\ +Utilisation de tests non paramétriques type Mann-Whitney : + +\begin{Shaded} +\begin{Highlighting}[] +\KeywordTok{wilcox.test}\NormalTok{(df}\OperatorTok{$}\NormalTok{Duree\_appel[df}\OperatorTok{$}\NormalTok{add}\OperatorTok{==}\StringTok{"avant"}\NormalTok{],df}\OperatorTok{$}\NormalTok{Duree\_appel[df}\OperatorTok{$}\NormalTok{add}\OperatorTok{==}\StringTok{"après"}\NormalTok{])} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## Warning in wilcox.test.default(df$Duree_appel[df$add == "avant"], +## df$Duree_appel[df$add == : cannot compute exact p-value with ties +\end{verbatim} + +\begin{verbatim} +## +## Wilcoxon rank sum test with continuity correction +## +## data: df$Duree_appel[df$add == "avant"] and df$Duree_appel[df$add == "après"] +## W = 140.5, p-value = 0.03965 +## alternative hypothesis: true location shift is not equal to 0 +\end{verbatim} + +Ah ben en fait la durée des appels a significativement augmentée après +le 17 mars 2020. Je ne suis pas super fort en statistiques donc j'espère +que c'est correct. Aussi, 21 échantillons par groupe c'est pas mal pour +un test non paramétrique. + +Du coup on va essayer de mettre une étoile sur le plot (ce qui n'est pas +compris dans les fonctions ggplot).\\ +Pour cela on va donc tester le code d'un ami disponible sur +\href{https://github.com/EvenStar69/significativity.bar}{Github}. + +\begin{Shaded} +\begin{Highlighting}[] +\CommentTok{\#install.packages("devtools")} +\KeywordTok{library}\NormalTok{(devtools)} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## Loading required package: usethis +\end{verbatim} + +\begin{Shaded} +\begin{Highlighting}[] +\CommentTok{\#Besoin de Rtools 3.5} +\CommentTok{\#install\_github("EvenStar69/significativity.bar/significativity.bar")} +\KeywordTok{library}\NormalTok{(significativity.bar)} +\end{Highlighting} +\end{Shaded} + +Bon j'ai dû un peu changer sa fonction parce qu'elle n'est plus +compatible avec ggplot 3.3.\\ +J'ai changé la manière de retrouver les coordonnées y : The position of +ymax in ggplot\_build(plot)\$data{[}{[}1{]}{]} changed from column 6 to +7.\\ +Et j'ai changé la manière de retrouver l'échalle en y : panel\_ranges in +ggplot\_build(plot)\$layout does not exist anymore \ldots{} use +panel\_scale\_y instead.\\ +J'ai aussi dû mettre à jour R vers la version 3.6.3.\\ +Voici le code modifié de sa fonction : + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{significativity\_bar \textless{}{-}}\StringTok{ }\ControlFlowTok{function}\NormalTok{(plot, groups, }\DataTypeTok{text =} \StringTok{"*"}\NormalTok{, }\DataTypeTok{text\_height =} \FloatTok{0.0275}\NormalTok{, }\DataTypeTok{size\_bar =} \DecValTok{1}\NormalTok{, }\DataTypeTok{color\_bar =} \StringTok{"black"}\NormalTok{, }\DataTypeTok{size\_text =} \DecValTok{8}\NormalTok{, }\DataTypeTok{color\_text =} \StringTok{"black"}\NormalTok{, }\DataTypeTok{font\_face =} \DecValTok{1}\NormalTok{, }\DataTypeTok{font\_style =} \StringTok{"serif"}\NormalTok{, }\DataTypeTok{line\_type =} \StringTok{"solid"}\NormalTok{)\{} + + + + \ControlFlowTok{if}\NormalTok{ (}\OperatorTok{!}\KeywordTok{require}\NormalTok{(}\StringTok{"ggplot2"}\NormalTok{, }\DataTypeTok{character.only=}\NormalTok{T, }\DataTypeTok{quietly=}\NormalTok{T))\{ }\CommentTok{\# use library ggplot} + + \KeywordTok{install.packages}\NormalTok{(}\StringTok{"ggplot2"}\NormalTok{)} + + \KeywordTok{library}\NormalTok{(ggplot2, }\DataTypeTok{character.only=}\NormalTok{T)} + +\NormalTok{ \}} + + + + \ControlFlowTok{if}\NormalTok{ (}\KeywordTok{class}\NormalTok{(plot)[}\DecValTok{1}\NormalTok{] }\OperatorTok{!=}\StringTok{ "gg"}\NormalTok{)\{} + + \KeywordTok{stop}\NormalTok{(}\StringTok{"Your input plot is not a ggplot"}\NormalTok{)} + +\NormalTok{ \}} + + \ControlFlowTok{if}\NormalTok{ (}\KeywordTok{length}\NormalTok{(groups) }\OperatorTok{!=}\StringTok{ }\DecValTok{2}\NormalTok{)\{} + + \KeywordTok{stop}\NormalTok{(}\StringTok{"Please select only 2 groups between which you want the error bar"}\NormalTok{)} + +\NormalTok{ \}} + + \ControlFlowTok{if}\NormalTok{ (}\OperatorTok{!}\KeywordTok{is.vector}\NormalTok{(groups))\{} + + \KeywordTok{stop}\NormalTok{(}\StringTok{"Please input your 2 selected groups in a vector"}\NormalTok{)} + +\NormalTok{ \}} + + \ControlFlowTok{if}\NormalTok{ (}\OperatorTok{!}\KeywordTok{is.character}\NormalTok{(text)) \{} + + \KeywordTok{stop}\NormalTok{(}\StringTok{"Please input the text above the bar as character"}\NormalTok{)} + +\NormalTok{ \}} + + \ControlFlowTok{if}\NormalTok{ (}\OperatorTok{!}\KeywordTok{is.numeric}\NormalTok{(text\_height) }\OperatorTok{|}\StringTok{ }\KeywordTok{length}\NormalTok{(text\_height) }\OperatorTok{\textgreater{}}\StringTok{ }\DecValTok{1}\NormalTok{)\{} + + \KeywordTok{stop}\NormalTok{(}\StringTok{"Please input one numeric value for the text height"}\NormalTok{)} + +\NormalTok{ \}} + + \ControlFlowTok{if}\NormalTok{ (}\OperatorTok{!}\KeywordTok{is.numeric}\NormalTok{(size\_bar) }\OperatorTok{|}\StringTok{ }\KeywordTok{length}\NormalTok{(size\_bar) }\OperatorTok{\textgreater{}}\StringTok{ }\DecValTok{1}\NormalTok{)\{} + + \KeywordTok{stop}\NormalTok{(}\StringTok{"Please input one numeric value for the bar size"}\NormalTok{)} + +\NormalTok{ \}} + + \ControlFlowTok{if}\NormalTok{ (}\OperatorTok{!}\KeywordTok{is.character}\NormalTok{(color\_bar))\{} + + \KeywordTok{stop}\NormalTok{(}\StringTok{"Please input an existing R color, as a character, for the color of the bar"}\NormalTok{)} + +\NormalTok{ \}} + + \ControlFlowTok{if}\NormalTok{ (}\OperatorTok{!}\KeywordTok{is.numeric}\NormalTok{(size\_text) }\OperatorTok{|}\StringTok{ }\KeywordTok{length}\NormalTok{(size\_text) }\OperatorTok{\textgreater{}}\StringTok{ }\DecValTok{1}\NormalTok{)\{} + + \KeywordTok{stop}\NormalTok{(}\StringTok{"Please input one numeric value for the text size"}\NormalTok{)} + +\NormalTok{ \}} + + \ControlFlowTok{if}\NormalTok{ (}\OperatorTok{!}\KeywordTok{is.numeric}\NormalTok{(font\_face) }\OperatorTok{|}\StringTok{ }\KeywordTok{length}\NormalTok{(font\_face) }\OperatorTok{\textgreater{}}\StringTok{ }\DecValTok{1}\NormalTok{)\{} + + \KeywordTok{stop}\NormalTok{(}\StringTok{"Please input one numeric value for the font face"}\NormalTok{)} + +\NormalTok{ \}} + + \ControlFlowTok{if}\NormalTok{ (}\OperatorTok{!}\KeywordTok{is.character}\NormalTok{(color\_text))\{} + + \KeywordTok{stop}\NormalTok{(}\StringTok{"Please input an existing R color, as a character, for the color of the text"}\NormalTok{)} + +\NormalTok{ \}} + + \ControlFlowTok{if}\NormalTok{ (}\OperatorTok{!}\KeywordTok{is.character}\NormalTok{(font\_style))\{} + + \KeywordTok{stop}\NormalTok{(}\StringTok{"Please input an existing font family, as a character, for the color of the bar"}\NormalTok{)} + +\NormalTok{ \}} + + \ControlFlowTok{if}\NormalTok{ (}\OperatorTok{!}\KeywordTok{is.character}\NormalTok{(line\_type))\{} + + \KeywordTok{stop}\NormalTok{(}\StringTok{"Please input an existing line style, as a character, for the color of the bar"}\NormalTok{)} + +\NormalTok{ \}} + + + + \ControlFlowTok{if}\NormalTok{ (text\_height }\OperatorTok{\textgreater{}=}\DecValTok{1}\NormalTok{)\{} + + \KeywordTok{warning}\NormalTok{(}\StringTok{"text\_height should be between 0 and 1, default value for * and around 0.04 for text are advised"}\NormalTok{)} + +\NormalTok{ \}} + + + + + + \ControlFlowTok{if}\NormalTok{ (}\KeywordTok{class}\NormalTok{(}\KeywordTok{as.list.environment}\NormalTok{(plot}\OperatorTok{$}\NormalTok{layers[[}\DecValTok{1}\NormalTok{]])}\OperatorTok{$}\NormalTok{geom)[}\DecValTok{1}\NormalTok{] }\OperatorTok{==}\StringTok{ "GeomPoint"}\NormalTok{)\{ }\CommentTok{\# if the ggplot is a dotplot} + +\NormalTok{ coords =}\StringTok{ }\KeywordTok{ggplot\_build}\NormalTok{(plot)}\OperatorTok{$}\NormalTok{data[[}\DecValTok{1}\NormalTok{]] }\CommentTok{\# get the coordinates of the points} + +\NormalTok{ xcoords =}\StringTok{ }\KeywordTok{c}\NormalTok{()} + +\NormalTok{ ycoords =}\StringTok{ }\KeywordTok{c}\NormalTok{()} + + \ControlFlowTok{for}\NormalTok{ (i }\ControlFlowTok{in}\NormalTok{ groups)\{ }\CommentTok{\# get the x coordinates of all coordinates in a vector, for the 2 selected groups} + +\NormalTok{ xcoord\_temp =}\StringTok{ }\KeywordTok{unique}\NormalTok{(coords}\OperatorTok{$}\NormalTok{x)[i]} + +\NormalTok{ xcoords =}\StringTok{ }\KeywordTok{append}\NormalTok{(xcoords, xcoord\_temp)} + +\NormalTok{ \}} + + \ControlFlowTok{for}\NormalTok{ (i }\ControlFlowTok{in} \KeywordTok{c}\NormalTok{(}\DecValTok{1}\NormalTok{,}\DecValTok{2}\NormalTok{))\{} + +\NormalTok{ ycoord\_temp =}\StringTok{ }\KeywordTok{max}\NormalTok{(coords[coords}\OperatorTok{$}\NormalTok{x }\OperatorTok{==}\StringTok{ }\NormalTok{xcoords[i],]}\OperatorTok{$}\NormalTok{y) }\CommentTok{\# get the y coordinate of the upper point of each group} + +\NormalTok{ ycoords =}\StringTok{ }\KeywordTok{append}\NormalTok{(ycoords, ycoord\_temp)} + +\NormalTok{ \}} + + + +\NormalTok{ y\_range =}\StringTok{ }\KeywordTok{ggplot\_build}\NormalTok{(plot)}\OperatorTok{$}\NormalTok{layout}\OperatorTok{$}\NormalTok{panel\_scales\_y[[}\DecValTok{1}\NormalTok{]]}\OperatorTok{$}\NormalTok{limits }\CommentTok{\# get the total height of the y scale} + \CommentTok{\# panel\_ranges in ggplot\_build(plot)$layout does not exist anymore ... use panel\_scale\_y instead} + +\NormalTok{ y\_sum =}\StringTok{ }\KeywordTok{sum}\NormalTok{(}\KeywordTok{abs}\NormalTok{(y\_range)) } + +\NormalTok{ y\_scale =}\StringTok{ }\NormalTok{(}\FloatTok{7.5}\OperatorTok{/}\DecValTok{100}\NormalTok{)}\OperatorTok{*}\NormalTok{y\_sum }\CommentTok{\# starting position of the vertical bar (determined \% of the total y scale)} + +\NormalTok{ bar\_height =}\StringTok{ }\NormalTok{y\_scale }\OperatorTok{+}\StringTok{ }\NormalTok{((}\DecValTok{5}\OperatorTok{/}\DecValTok{100}\NormalTok{)}\OperatorTok{*}\NormalTok{y\_sum) }\CommentTok{\# final position of the vertical bar (determined \% of the total y scale in addition to y\_scale)} + + + +\NormalTok{ ycoord\_top =}\StringTok{ }\KeywordTok{max}\NormalTok{(ycoords) }\CommentTok{\# the bar should take the heighest of the two groups as a reference} + +\NormalTok{ coord\_bar =}\StringTok{ }\KeywordTok{data.frame}\NormalTok{(}\DataTypeTok{x =} \KeywordTok{c}\NormalTok{(xcoords[}\DecValTok{1}\NormalTok{], xcoords[}\DecValTok{1}\NormalTok{], xcoords[}\DecValTok{2}\NormalTok{], xcoords[}\DecValTok{2}\NormalTok{]), }\DataTypeTok{y =} \KeywordTok{c}\NormalTok{(ycoord\_top }\OperatorTok{+}\StringTok{ }\NormalTok{y\_scale, ycoord\_top }\OperatorTok{+}\StringTok{ }\NormalTok{bar\_height, ycoord\_top }\OperatorTok{+}\StringTok{ }\NormalTok{bar\_height, ycoord\_top }\OperatorTok{+}\StringTok{ }\NormalTok{y\_scale)) }\CommentTok{\# final coordinates of the bar} + + + +\NormalTok{ star\_x =}\StringTok{ }\KeywordTok{mean}\NormalTok{(xcoords) }\CommentTok{\# x coordinate of the text above the bar (in the middle of the two groups)} + +\NormalTok{ star\_y =}\StringTok{ }\NormalTok{ycoord\_top }\OperatorTok{+}\StringTok{ }\NormalTok{bar\_height }\OperatorTok{+}\StringTok{ }\NormalTok{((}\FloatTok{2.75}\OperatorTok{/}\DecValTok{100}\NormalTok{)}\OperatorTok{*}\NormalTok{y\_sum) }\CommentTok{\# y coordinate of the text above the bar (above the bar by a determined factor)} + +\NormalTok{ coord\_star =}\StringTok{ }\KeywordTok{c}\NormalTok{(star\_x, star\_y) }\CommentTok{\# x,y coordinates of the text above the bar} + + + +\NormalTok{ plot =}\StringTok{ }\NormalTok{plot }\OperatorTok{+}\StringTok{ }\KeywordTok{geom\_path}\NormalTok{(}\DataTypeTok{data =}\NormalTok{ coord\_bar, }\KeywordTok{aes}\NormalTok{(}\DataTypeTok{x=}\NormalTok{x, }\DataTypeTok{y=}\NormalTok{y), }\DataTypeTok{size =}\NormalTok{ size\_bar, }\DataTypeTok{color =}\NormalTok{ color\_bar, }\DataTypeTok{linetype =}\NormalTok{ line\_type) }\OperatorTok{+}\StringTok{ }\KeywordTok{annotate}\NormalTok{(}\StringTok{"text"}\NormalTok{, }\DataTypeTok{x =}\NormalTok{ star\_x, }\DataTypeTok{y =}\NormalTok{ star\_y, }\DataTypeTok{label =}\NormalTok{ text, }\DataTypeTok{size =}\NormalTok{ size\_text, }\DataTypeTok{color =}\NormalTok{ color\_text, }\DataTypeTok{fontface =}\NormalTok{ font\_face, }\DataTypeTok{family =}\NormalTok{ font\_style) }\CommentTok{\# create the new ggplot} + + \KeywordTok{print}\NormalTok{(plot)} + + + +\NormalTok{ \} }\ControlFlowTok{else} \ControlFlowTok{if}\NormalTok{ (}\KeywordTok{class}\NormalTok{(}\KeywordTok{as.list.environment}\NormalTok{(plot}\OperatorTok{$}\NormalTok{layers[[}\DecValTok{1}\NormalTok{]])}\OperatorTok{$}\NormalTok{geom)[}\DecValTok{1}\NormalTok{] }\OperatorTok{==}\StringTok{ "GeomBar"}\NormalTok{) \{ }\CommentTok{\# if the ggplot is a dotplot} + +\NormalTok{ coords =}\StringTok{ }\KeywordTok{ggplot\_build}\NormalTok{(plot)}\OperatorTok{$}\NormalTok{data[[}\DecValTok{1}\NormalTok{]]} + +\NormalTok{ xcoords =}\StringTok{ }\KeywordTok{c}\NormalTok{() } + +\NormalTok{ ycoords =}\StringTok{ }\KeywordTok{c}\NormalTok{()} + + \ControlFlowTok{for}\NormalTok{ (i }\ControlFlowTok{in}\NormalTok{ groups)\{ }\CommentTok{\# get the x and y coordinates of the two groups } + +\NormalTok{ xcoord\_temp =}\StringTok{ }\KeywordTok{mean}\NormalTok{(}\KeywordTok{c}\NormalTok{(coords[i,]}\OperatorTok{$}\NormalTok{xmin, coords[i,]}\OperatorTok{$}\NormalTok{xmax))} + +\NormalTok{ xcoords =}\StringTok{ }\KeywordTok{append}\NormalTok{(xcoords, xcoord\_temp)} + +\NormalTok{ ycoord\_temp =}\StringTok{ }\NormalTok{coords[i,}\DecValTok{7}\NormalTok{] }\CommentTok{\# The position of ymax in ggplot\_build(plot)$data[[1]] changed from column 6 to 7} + +\NormalTok{ ycoords =}\StringTok{ }\KeywordTok{append}\NormalTok{(ycoords, ycoord\_temp)} + +\NormalTok{ \}} + + + +\NormalTok{ y\_range =}\StringTok{ }\KeywordTok{ggplot\_build}\NormalTok{(plot)}\OperatorTok{$}\NormalTok{layout}\OperatorTok{$}\NormalTok{panel\_scales\_y[[}\DecValTok{1}\NormalTok{]]}\OperatorTok{$}\NormalTok{limits }\CommentTok{\# get the total height of the y scale} + +\NormalTok{ y\_sum =}\StringTok{ }\KeywordTok{sum}\NormalTok{(}\KeywordTok{abs}\NormalTok{(y\_range))} + +\NormalTok{ y\_scale =}\StringTok{ }\NormalTok{(}\FloatTok{7.5}\OperatorTok{/}\DecValTok{100}\NormalTok{)}\OperatorTok{*}\NormalTok{y\_sum }\CommentTok{\# starting position of the vertical bar (determined \% of the total y scale)} + +\NormalTok{ bar\_height =}\StringTok{ }\NormalTok{y\_scale }\OperatorTok{+}\StringTok{ }\NormalTok{((}\DecValTok{5}\OperatorTok{/}\DecValTok{100}\NormalTok{)}\OperatorTok{*}\NormalTok{y\_sum) }\CommentTok{\# final position of the vertical bar (determined \% of the total y scale in addition to y\_scale)} + + + +\NormalTok{ ycoord\_top =}\StringTok{ }\KeywordTok{max}\NormalTok{(ycoords) }\CommentTok{\# the bar should take the heighest of the two groups as a reference} + +\NormalTok{ coord\_bar =}\StringTok{ }\KeywordTok{data.frame}\NormalTok{(}\DataTypeTok{x =} \KeywordTok{c}\NormalTok{(xcoords[}\DecValTok{1}\NormalTok{], xcoords[}\DecValTok{1}\NormalTok{], xcoords[}\DecValTok{2}\NormalTok{], xcoords[}\DecValTok{2}\NormalTok{]), }\DataTypeTok{y =} \KeywordTok{c}\NormalTok{(ycoord\_top }\OperatorTok{+}\StringTok{ }\NormalTok{y\_scale, ycoord\_top }\OperatorTok{+}\StringTok{ }\NormalTok{bar\_height, ycoord\_top }\OperatorTok{+}\StringTok{ }\NormalTok{bar\_height, ycoord\_top }\OperatorTok{+}\StringTok{ }\NormalTok{y\_scale)) }\CommentTok{\# final coordinates of the bar} + + + +\NormalTok{ star\_x =}\StringTok{ }\KeywordTok{mean}\NormalTok{(xcoords) }\CommentTok{\# x coordinate of the text above the bar (in the middle of the two groups)} + +\NormalTok{ star\_y =}\StringTok{ }\NormalTok{ycoord\_top }\OperatorTok{+}\StringTok{ }\NormalTok{bar\_height }\OperatorTok{+}\StringTok{ }\NormalTok{(text\_height}\OperatorTok{*}\NormalTok{y\_sum) }\CommentTok{\# y coordinate of the text above the bar (above the bar by a determined factor)} + +\NormalTok{ coord\_star =}\StringTok{ }\KeywordTok{c}\NormalTok{(star\_x, star\_y) }\CommentTok{\# x,y coordinates of the text above the bar} + + + +\NormalTok{ plot =}\StringTok{ }\NormalTok{plot }\OperatorTok{+}\StringTok{ }\KeywordTok{geom\_path}\NormalTok{(}\DataTypeTok{data =}\NormalTok{ coord\_bar, }\KeywordTok{aes}\NormalTok{(}\DataTypeTok{x=}\NormalTok{x, }\DataTypeTok{y=}\NormalTok{y), }\DataTypeTok{size =}\NormalTok{ size\_bar, }\DataTypeTok{color =}\NormalTok{ color\_bar, }\DataTypeTok{linetype =}\NormalTok{ line\_type) }\OperatorTok{+}\StringTok{ }\KeywordTok{annotate}\NormalTok{(}\StringTok{"text"}\NormalTok{, }\DataTypeTok{x =}\NormalTok{ star\_x, }\DataTypeTok{y =}\NormalTok{ star\_y, }\DataTypeTok{label =}\NormalTok{ text, }\DataTypeTok{size =}\NormalTok{ size\_text, }\DataTypeTok{color =}\NormalTok{ color\_text, }\DataTypeTok{fontface =}\NormalTok{ font\_face, }\DataTypeTok{family =}\NormalTok{ font\_style) }\CommentTok{\# create the new ggplot} + + \KeywordTok{print}\NormalTok{(plot)} + +\NormalTok{ \}} + +\NormalTok{\}} +\end{Highlighting} +\end{Shaded} + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{gg\textless{}{-}}\StringTok{ }\KeywordTok{ggplot}\NormalTok{(c, }\KeywordTok{aes}\NormalTok{(}\DataTypeTok{x =}\NormalTok{ c..aa....ap.., }\DataTypeTok{y =} \KeywordTok{as.numeric}\NormalTok{(m\_duree\_appel)))}\OperatorTok{+} +\StringTok{ }\KeywordTok{geom\_bar}\NormalTok{(}\DataTypeTok{stat =} \StringTok{"identity"}\NormalTok{)}\OperatorTok{+} +\StringTok{ }\KeywordTok{geom\_errorbar}\NormalTok{(}\DataTypeTok{ymin =}\NormalTok{ m\_duree\_appel}\OperatorTok{{-}}\NormalTok{sd\_duree\_appel, }\DataTypeTok{ymax =}\NormalTok{ m\_duree\_appel}\OperatorTok{+}\NormalTok{sd\_duree\_appel)}\OperatorTok{+}\StringTok{ } +\StringTok{ }\KeywordTok{ylim}\NormalTok{(}\OperatorTok{{-}}\DecValTok{500}\NormalTok{,}\DecValTok{5000}\NormalTok{)}\OperatorTok{+} +\StringTok{ }\KeywordTok{labs}\NormalTok{(}\DataTypeTok{title=}\StringTok{"Duree appel"}\NormalTok{)} +\KeywordTok{significativity\_bar}\NormalTok{(gg, }\DataTypeTok{groups =} \KeywordTok{c}\NormalTok{(}\DecValTok{1}\NormalTok{,}\DecValTok{2}\NormalTok{))} +\end{Highlighting} +\end{Shaded} + +\includegraphics{test-notebook_files/figure-latex/unnamed-chunk-19-1.pdf} + +\hypertarget{taux-de-ruxe9ponses}{% +\subsubsection{Taux de réponses}\label{taux-de-ruxe9ponses}} + +Cette partie c'est juste pour voir si je répond autant aux messages +qu'on m'en envoie. + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{Ratio\textless{}{-}df}\OperatorTok{$}\NormalTok{Messages\_recus}\OperatorTok{/}\NormalTok{df}\OperatorTok{$}\NormalTok{Messages\_envoyes} +\CommentTok{\#Remplacement des NaN et inf (division par 0) en 0.} +\NormalTok{Ratio[}\KeywordTok{is.na}\NormalTok{(Ratio)]\textless{}{-}}\DecValTok{0} +\NormalTok{Ratio[}\KeywordTok{is.infinite}\NormalTok{(Ratio)]\textless{}{-}}\DecValTok{0} +\KeywordTok{barplot}\NormalTok{(Ratio)} +\end{Highlighting} +\end{Shaded} + +\includegraphics{test-notebook_files/figure-latex/unnamed-chunk-20-1.pdf} + +\begin{Shaded} +\begin{Highlighting}[] +\KeywordTok{mean}\NormalTok{(Ratio)} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## [1] 1.067513 +\end{verbatim} + +En moyenne c'est assez équilibré : je réponds autant de fois qu'on +m'envoie un message. + +\hypertarget{conclusion}{% +\subsection{Conclusion}\label{conclusion}} + +\textbf{J'ai passé pas mal de temps à faire ça mais ça m'a permis de +bien prendre en main l'outil.\\ +Je conçois que mon étude est assez sale et que les manières de plotter +ne sont vraiment pas optimisées mais ce n'était pas vraiment le but de +l'exercice.} + +\textbf{Après avoir compilé, je n'ai pas pû le faire en pdf (des erreurs +de polices qui ne passent pas avec LaTeX on dirait \ldots).\\ +Aussi, j'ai remarqué qu'il fallait laissé un retour chariot après la +visualisation du plot sinon le texte se met à côté dans le rendu.} + +\end{document} diff --git a/module2/exo4/test-notebook.utf8.md b/module2/exo4/test-notebook.utf8.md new file mode 100644 index 0000000..817d160 --- /dev/null +++ b/module2/exo4/test-notebook.utf8.md @@ -0,0 +1,620 @@ +--- +title: "R Notebook" +output: + pdf_document: default + html_notebook: default +--- + + +## L'étude +Cette étude consiste à évaluer mon usage du téléphone depuis le 25 février 2020 pour établir un lien entre la mise en place du confinement le 17 mars 2020 et mon usage téléphonique. + +## Le fichier de données +Le fichier de données ci-après est une table représentant différents paramètres chaque jour depuis le 25/02/2020 : +- Le nombre d'appels émis : Appels\_emis +- Le nombre d'appels reçus : Appels\_recus (Comprends aussi les appels manqués) +- La durée totale des appels de la journée en seconde : Duree\_appels +- Le nombre de messages reçus : Messages\_recus +- Le nombre de messages envoyés : Messages\_envoyes + +Le fichier peut être importé comme ceci : + +```r +df<-read.csv("C:/Users/Marc/Desktop/MOOC/mooc-rr/module2/exo4/Book1.csv", sep = ";") +head(df) +``` + +``` +## ï..Date Appels_emis Appels_recus Duree_appel Messages_recus +## 1 25/02/2020 0 0 0 6 +## 2 26/02/2020 1 1 5 3 +## 3 27/02/2020 0 0 0 3 +## 4 28/02/2020 0 0 0 0 +## 5 29/02/2020 3 1 3470 1 +## 6 01/03/2020 1 1 141 15 +## Messages_envoyes +## 1 4 +## 2 4 +## 3 2 +## 4 0 +## 5 0 +## 6 7 +``` + +## L'analyse de l'usage téléphonique + +Tout d'abord on peut plotter les différents paramètres au cours du temps pour se donner un aperçu de mon usage : + +1. Les appels émis + +```r +barplot(df$Appels_emis, names.arg = df$ï..Date) +``` + +![](test-notebook_files/figure-latex/unnamed-chunk-2-1.pdf) + +Les dates sont mal positionnées mais c'est pas grave. Il semble que j'ai beaucoup appelé autour de la date du 17 mars. + +2. Appels reçus + +```r +barplot(df$Appels_recus, names.arg = df$ï..Date) +``` + +![](test-notebook_files/figure-latex/unnamed-chunk-3-1.pdf) + +Il semble que j'ai reçu beaucoup d'appels la veille du 17 mars puis que j'ai reçu + d'appels en général après cette période qu'avant. + +3. Durée appel + +```r +barplot(df$Duree_appel, names.arg = df$ï..Date) +``` + +![](test-notebook_files/figure-latex/unnamed-chunk-4-1.pdf) + +Là c'est très voyant. J'ai passé beaucoup de temps au téléphone après le 16 mars comparé à avant (sauf 2 fois). + +4. Messages reçus + +```r +barplot(df$Messages_recus, names.arg = df$ï..Date) +``` + +![](test-notebook_files/figure-latex/unnamed-chunk-5-1.pdf) + +5. Messages envoyés + +```r +barplot(df$Messages_envoyes, names.arg = df$ï..Date) +``` + +![](test-notebook_files/figure-latex/unnamed-chunk-6-1.pdf) + +Pour les messages, la tendance est inverse aux appels : je reçois et envoie - de sms depuis le 17 mars comparé à avant. +J'ai eput être changé mon usage de l'un à l'autre. +Sauf autour du 16-17 mars où j'ai beaucoup communiqué. + +### Représentation des moyennes avant et après le 17 mars +Je vais rajouté une colonne pour indiqué avant ou après le 17 mars. + +```r +add<-c(rep("avant",21), rep("après",21)) +df$add<-add +``` +Oui je sais c'est vraiment nul mais en gros je sais qu'il y a 42 lignes dans mon tableau (je peux le vérifier avec `length(df$Appels_emis)` par exemple) et que le 17 mars est la 22ème ligne. +J'ai donc ajouté 21 fois "avant" et 21 fois "après" sur une colonne dans mon data frame df. + + +Maintenant on va pouvoir calculer les moyennes des paramètres avant et après (inclus) le 17 mars 2020. + +```r +m_appels_emis<-c(mean(df$Appels_emis[df$add=="avant"]), mean(df$Appels_emis[df$add=="après"])) +m_appels_recus<-c(mean(df$Appels_recus[df$add=="avant"]), mean(df$Appels_recus[df$add=="après"])) +m_duree_appel<-c(mean(df$Duree_appel[df$add=="avant"]), mean(df$Duree_appel[df$add=="après"])) +m_messages_recus<-c(mean(df$Messages_recus[df$add=="avant"]), mean(df$Messages_recus[df$add=="après"])) +m_messages_envoyes<-c(mean(df$Messages_envoyes[df$add=="avant"]), mean(df$Messages_envoyes[df$add=="après"])) +m_appels_emis +``` + +``` +## [1] 1.142857 1.523810 +``` + +```r +m_appels_recus +``` + +``` +## [1] 0.8095238 1.1904762 +``` + +```r +m_messages_recus +``` + +``` +## [1] 6.285714 2.761905 +``` + +```r +m_messages_envoyes +``` + +``` +## [1] 5.285714 1.523810 +``` +Et les écarts-types : + +```r +sd_appels_emis<-c(sd(df$Appels_emis[df$add=="avant"]), sd(df$Appels_emis[df$add=="après"])) +sd_appels_recus<-c(sd(df$Appels_recus[df$add=="avant"]), sd(df$Appels_recus[df$add=="après"])) +sd_duree_appel<-c(sd(df$Duree_appel[df$add=="avant"]), sd(df$Duree_appel[df$add=="après"])) +sd_messages_recus<-c(sd(df$Messages_recus[df$add=="avant"]), sd(df$Messages_recus[df$add=="après"])) +sd_messages_envoyes<-c(sd(df$Messages_envoyes[df$add=="avant"]), sd(df$Messages_envoyes[df$add=="après"])) +``` + + +Maintenant on va pouvoir plotter les moyennes de tous les paramètres avant et après (inclus) le 17 mars 2020. +Le mieux c'est d'utiliser ggplot. + +```r +#install.packages("ggplot2") +library(ggplot2) +a<-data.frame(m_appels_emis, sd_appels_emis, c("aa", "ap")) +ggplot(a, aes(x = a$c..aa....ap.., y = m_appels_emis))+ + geom_bar(stat = "identity")+ + geom_errorbar(ymin = a$m_appels_emis-a$sd_appels_emis, ymax = a$m_appels_emis+a$sd_appels_emis)+ + ylim(-1,4)+ + labs(title="Appels émis") +``` + +``` +## Warning: Use of `a$c..aa....ap..` is discouraged. Use `c..aa....ap..` instead. + +## Warning: Use of `a$c..aa....ap..` is discouraged. Use `c..aa....ap..` instead. +``` + +![](test-notebook_files/figure-latex/unnamed-chunk-10-1.pdf) + +```r +b<-data.frame(m_appels_recus, sd_appels_recus, c("aa", "ap")) +ggplot(b, aes(x = b$c..aa....ap.., y = b$m_appels_recus))+ + geom_bar(stat = "identity")+ + geom_errorbar(ymin = b$m_appels_recus-b$sd_appels_recus, ymax = b$m_appels_recus+b$sd_appels_recus)+ + ylim(-1,3)+ + labs(title="Appels recus") +``` + +``` +## Warning: Use of `b$c..aa....ap..` is discouraged. Use `c..aa....ap..` instead. +``` + +``` +## Warning: Use of `b$m_appels_recus` is discouraged. Use `m_appels_recus` instead. +``` + +``` +## Warning: Use of `b$c..aa....ap..` is discouraged. Use `c..aa....ap..` instead. +``` + +``` +## Warning: Use of `b$m_appels_recus` is discouraged. Use `m_appels_recus` instead. +``` + +![](test-notebook_files/figure-latex/unnamed-chunk-11-1.pdf) + +```r +c<-data.frame(m_duree_appel, sd_duree_appel, c("aa", "ap")) +ggplot(c, aes(x = c$c..aa....ap.., y = c$m_duree_appel))+ + geom_bar(stat = "identity")+ + geom_errorbar(ymin = c$m_duree_appel-c$sd_duree_appel, ymax = c$m_duree_appel+c$sd_duree_appel)+ + ylim(-500,2000)+ + labs(title="Duree appel") +``` + +``` +## Warning: Use of `c$c..aa....ap..` is discouraged. Use `c..aa....ap..` instead. +``` + +``` +## Warning: Use of `c$m_duree_appel` is discouraged. Use `m_duree_appel` instead. +``` + +``` +## Warning: Use of `c$c..aa....ap..` is discouraged. Use `c..aa....ap..` instead. +``` + +``` +## Warning: Use of `c$m_duree_appel` is discouraged. Use `m_duree_appel` instead. +``` + +![](test-notebook_files/figure-latex/unnamed-chunk-12-1.pdf) + +```r +d<-data.frame(m_messages_envoyes, sd_messages_envoyes, c("aa", "ap")) +ggplot(d, aes(x = d$c..aa....ap.., y = d$m_messages_envoyes))+ + geom_bar(stat = "identity")+ + geom_errorbar(ymin = d$m_messages_envoyes-d$sd_messages_envoyes, ymax = d$m_messages_envoyes+d$sd_messages_envoyes)+ + ylim(0,12)+ + labs(title="Messages envoyes") +``` + +``` +## Warning: Use of `d$c..aa....ap..` is discouraged. Use `c..aa....ap..` instead. +``` + +``` +## Warning: Use of `d$m_messages_envoyes` is discouraged. Use `m_messages_envoyes` +## instead. +``` + +``` +## Warning: Use of `d$c..aa....ap..` is discouraged. Use `c..aa....ap..` instead. +``` + +``` +## Warning: Use of `d$m_messages_envoyes` is discouraged. Use `m_messages_envoyes` +## instead. +``` + +![](test-notebook_files/figure-latex/unnamed-chunk-13-1.pdf) + +```r +e<-data.frame(m_messages_recus, sd_messages_recus, c("aa", "ap")) +ggplot(e, aes(x = e$c..aa....ap.., y = e$m_messages_recus))+ + geom_bar(stat = "identity")+ + geom_errorbar(ymin = e$m_messages_recus-e$sd_messages_recus, ymax = e$m_messages_recus+e$sd_messages_recus)+ + ylim(-2,12)+ + labs(title="Messages recus") +``` + +``` +## Warning: Use of `e$c..aa....ap..` is discouraged. Use `c..aa....ap..` instead. +``` + +``` +## Warning: Use of `e$m_messages_recus` is discouraged. Use `m_messages_recus` +## instead. +``` + +``` +## Warning: Use of `e$c..aa....ap..` is discouraged. Use `c..aa....ap..` instead. +``` + +``` +## Warning: Use of `e$m_messages_recus` is discouraged. Use `m_messages_recus` +## instead. +``` + +![](test-notebook_files/figure-latex/unnamed-chunk-14-1.pdf) + +__Bilan : On voit des augmentations dans les appels et une diminution dans les messages mais les écarts types sont énormes__ + +A mon avis, rien n'est significatif mais on peut s'entrainer sur un cas. +Comme il n'y a que 21 valeurs dans chaque groupe, je ne peux pas appliquer le théorème central limite. Je vais donc vérifier la distribution normale de chaque groupe ainsi que l'égalité des variances pour voir quel test statistique appliqué. +Prenons comme exemple la durée de l'appel. + +```r +shapiro.test(df$Duree_appel[df$add=="avant"]) +``` + +``` +## +## Shapiro-Wilk normality test +## +## data: df$Duree_appel[df$add == "avant"] +## W = 0.53087, p-value = 3.968e-07 +``` + +```r +shapiro.test(df$Duree_appel[df$add=="après"]) +``` + +``` +## +## Shapiro-Wilk normality test +## +## data: df$Duree_appel[df$add == "après"] +## W = 0.88753, p-value = 0.0202 +``` +Les tests de Shapiro-Wilk sont significatifs donc les distributions ne sont pas normales. +Utilisation de tests non paramétriques type Mann-Whitney : + +```r +wilcox.test(df$Duree_appel[df$add=="avant"],df$Duree_appel[df$add=="après"]) +``` + +``` +## Warning in wilcox.test.default(df$Duree_appel[df$add == "avant"], +## df$Duree_appel[df$add == : cannot compute exact p-value with ties +``` + +``` +## +## Wilcoxon rank sum test with continuity correction +## +## data: df$Duree_appel[df$add == "avant"] and df$Duree_appel[df$add == "après"] +## W = 140.5, p-value = 0.03965 +## alternative hypothesis: true location shift is not equal to 0 +``` +Ah ben en fait la durée des appels a significativement augmentée après le 17 mars 2020. Je ne suis pas super fort en statistiques donc j'espère que c'est correct. Aussi, 21 échantillons par groupe c'est pas mal pour un test non paramétrique. + +Du coup on va essayer de mettre une étoile sur le plot (ce qui n'est pas compris dans les fonctions ggplot). +Pour cela on va donc tester le code d'un ami disponible sur [Github](https://github.com/EvenStar69/significativity.bar). + +```r +#install.packages("devtools") +library(devtools) +``` + +``` +## Loading required package: usethis +``` + +```r +#Besoin de Rtools 3.5 +#install_github("EvenStar69/significativity.bar/significativity.bar") +library(significativity.bar) +``` +Bon j'ai dû un peu changer sa fonction parce qu'elle n'est plus compatible avec ggplot 3.3. +J'ai changé la manière de retrouver les coordonnées y : The position of ymax in ggplot\_build(plot)\$data[[1]] changed from column 6 to 7. +Et j'ai changé la manière de retrouver l'échalle en y : panel_ranges in ggplot\_build(plot)\$layout does not exist anymore ... use panel\_scale\_y instead. +J'ai aussi dû mettre à jour R vers la version 3.6.3. +Voici le code modifié de sa fonction : + +```r +significativity_bar <- function(plot, groups, text = "*", text_height = 0.0275, size_bar = 1, color_bar = "black", size_text = 8, color_text = "black", font_face = 1, font_style = "serif", line_type = "solid"){ + + + + if (!require("ggplot2", character.only=T, quietly=T)){ # use library ggplot + + install.packages("ggplot2") + + library(ggplot2, character.only=T) + + } + + + + if (class(plot)[1] != "gg"){ + + stop("Your input plot is not a ggplot") + + } + + if (length(groups) != 2){ + + stop("Please select only 2 groups between which you want the error bar") + + } + + if (!is.vector(groups)){ + + stop("Please input your 2 selected groups in a vector") + + } + + if (!is.character(text)) { + + stop("Please input the text above the bar as character") + + } + + if (!is.numeric(text_height) | length(text_height) > 1){ + + stop("Please input one numeric value for the text height") + + } + + if (!is.numeric(size_bar) | length(size_bar) > 1){ + + stop("Please input one numeric value for the bar size") + + } + + if (!is.character(color_bar)){ + + stop("Please input an existing R color, as a character, for the color of the bar") + + } + + if (!is.numeric(size_text) | length(size_text) > 1){ + + stop("Please input one numeric value for the text size") + + } + + if (!is.numeric(font_face) | length(font_face) > 1){ + + stop("Please input one numeric value for the font face") + + } + + if (!is.character(color_text)){ + + stop("Please input an existing R color, as a character, for the color of the text") + + } + + if (!is.character(font_style)){ + + stop("Please input an existing font family, as a character, for the color of the bar") + + } + + if (!is.character(line_type)){ + + stop("Please input an existing line style, as a character, for the color of the bar") + + } + + + + if (text_height >=1){ + + warning("text_height should be between 0 and 1, default value for * and around 0.04 for text are advised") + + } + + + + + + if (class(as.list.environment(plot$layers[[1]])$geom)[1] == "GeomPoint"){ # if the ggplot is a dotplot + + coords = ggplot_build(plot)$data[[1]] # get the coordinates of the points + + xcoords = c() + + ycoords = c() + + for (i in groups){ # get the x coordinates of all coordinates in a vector, for the 2 selected groups + + xcoord_temp = unique(coords$x)[i] + + xcoords = append(xcoords, xcoord_temp) + + } + + for (i in c(1,2)){ + + ycoord_temp = max(coords[coords$x == xcoords[i],]$y) # get the y coordinate of the upper point of each group + + ycoords = append(ycoords, ycoord_temp) + + } + + + + y_range = ggplot_build(plot)$layout$panel_scales_y[[1]]$limits # get the total height of the y scale + # panel_ranges in ggplot_build(plot)$layout does not exist anymore ... use panel_scale_y instead + + y_sum = sum(abs(y_range)) + + y_scale = (7.5/100)*y_sum # starting position of the vertical bar (determined % of the total y scale) + + bar_height = y_scale + ((5/100)*y_sum) # final position of the vertical bar (determined % of the total y scale in addition to y_scale) + + + + ycoord_top = max(ycoords) # the bar should take the heighest of the two groups as a reference + + coord_bar = data.frame(x = c(xcoords[1], xcoords[1], xcoords[2], xcoords[2]), y = c(ycoord_top + y_scale, ycoord_top + bar_height, ycoord_top + bar_height, ycoord_top + y_scale)) # final coordinates of the bar + + + + star_x = mean(xcoords) # x coordinate of the text above the bar (in the middle of the two groups) + + star_y = ycoord_top + bar_height + ((2.75/100)*y_sum) # y coordinate of the text above the bar (above the bar by a determined factor) + + coord_star = c(star_x, star_y) # x,y coordinates of the text above the bar + + + + plot = plot + geom_path(data = coord_bar, aes(x=x, y=y), size = size_bar, color = color_bar, linetype = line_type) + annotate("text", x = star_x, y = star_y, label = text, size = size_text, color = color_text, fontface = font_face, family = font_style) # create the new ggplot + + print(plot) + + + + } else if (class(as.list.environment(plot$layers[[1]])$geom)[1] == "GeomBar") { # if the ggplot is a dotplot + + coords = ggplot_build(plot)$data[[1]] + + xcoords = c() + + ycoords = c() + + for (i in groups){ # get the x and y coordinates of the two groups + + xcoord_temp = mean(c(coords[i,]$xmin, coords[i,]$xmax)) + + xcoords = append(xcoords, xcoord_temp) + + ycoord_temp = coords[i,7] # The position of ymax in ggplot_build(plot)$data[[1]] changed from column 6 to 7 + + ycoords = append(ycoords, ycoord_temp) + + } + + + + y_range = ggplot_build(plot)$layout$panel_scales_y[[1]]$limits # get the total height of the y scale + + y_sum = sum(abs(y_range)) + + y_scale = (7.5/100)*y_sum # starting position of the vertical bar (determined % of the total y scale) + + bar_height = y_scale + ((5/100)*y_sum) # final position of the vertical bar (determined % of the total y scale in addition to y_scale) + + + + ycoord_top = max(ycoords) # the bar should take the heighest of the two groups as a reference + + coord_bar = data.frame(x = c(xcoords[1], xcoords[1], xcoords[2], xcoords[2]), y = c(ycoord_top + y_scale, ycoord_top + bar_height, ycoord_top + bar_height, ycoord_top + y_scale)) # final coordinates of the bar + + + + star_x = mean(xcoords) # x coordinate of the text above the bar (in the middle of the two groups) + + star_y = ycoord_top + bar_height + (text_height*y_sum) # y coordinate of the text above the bar (above the bar by a determined factor) + + coord_star = c(star_x, star_y) # x,y coordinates of the text above the bar + + + + plot = plot + geom_path(data = coord_bar, aes(x=x, y=y), size = size_bar, color = color_bar, linetype = line_type) + annotate("text", x = star_x, y = star_y, label = text, size = size_text, color = color_text, fontface = font_face, family = font_style) # create the new ggplot + + print(plot) + + } + +} +``` + + + +```r +gg<- ggplot(c, aes(x = c..aa....ap.., y = as.numeric(m_duree_appel)))+ + geom_bar(stat = "identity")+ + geom_errorbar(ymin = m_duree_appel-sd_duree_appel, ymax = m_duree_appel+sd_duree_appel)+ + ylim(-500,5000)+ + labs(title="Duree appel") +significativity_bar(gg, groups = c(1,2)) +``` + +![](test-notebook_files/figure-latex/unnamed-chunk-19-1.pdf) + + +### Taux de réponses + +Cette partie c'est juste pour voir si je répond autant aux messages qu'on m'en envoie. + +```r +Ratio<-df$Messages_recus/df$Messages_envoyes +#Remplacement des NaN et inf (division par 0) en 0. +Ratio[is.na(Ratio)]<-0 +Ratio[is.infinite(Ratio)]<-0 +barplot(Ratio) +``` + +![](test-notebook_files/figure-latex/unnamed-chunk-20-1.pdf) + +```r +mean(Ratio) +``` + +``` +## [1] 1.067513 +``` +En moyenne c'est assez équilibré : je réponds autant de fois qu'on m'envoie un message. + +## Conclusion + +__J'ai passé pas mal de temps à faire ça mais ça m'a permis de bien prendre en main l'outil. +Je conçois que mon étude est assez sale et que les manières de plotter ne sont vraiment pas optimisées mais ce n'était pas vraiment le but de l'exercice.__ + +__Après avoir compilé, je n'ai pas pû le faire en pdf (des erreurs de polices qui ne passent pas avec LaTeX on dirait ...). +Aussi, j'ai remarqué qu'il fallait laissé un retour chariot après la visualisation du plot sinon le texte se met à côté dans le rendu.__ diff --git a/module2/exo4/test-notebook_files/figure-latex/unnamed-chunk-10-1.pdf b/module2/exo4/test-notebook_files/figure-latex/unnamed-chunk-10-1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..bf6540015d599aced7bbca16bc79a842dbecc551 GIT binary patch literal 4436 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 literal 0 HcmV?d00001 diff --git a/module2/exo4/test-notebook_files/figure-latex/unnamed-chunk-11-1.pdf b/module2/exo4/test-notebook_files/figure-latex/unnamed-chunk-11-1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..671e7aea3bd13ea80719222d8d5834692ecf41cb GIT binary patch literal 4408 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 literal 0 HcmV?d00001 diff --git a/module2/exo4/test-notebook_files/figure-latex/unnamed-chunk-13-1.pdf b/module2/exo4/test-notebook_files/figure-latex/unnamed-chunk-13-1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0a69551c1b813fea58268aadda479a1bae769544 GIT binary patch literal 4464 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 N91fC{)VDAI{Re)Hrey#C literal 0 HcmV?d00001 diff --git a/module2/exo4/test-notebook_files/figure-latex/unnamed-chunk-14-1.pdf b/module2/exo4/test-notebook_files/figure-latex/unnamed-chunk-14-1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..fdb03152205b836d89283207259ade3dfdeeb26c GIT binary patch literal 4390 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 literal 0 HcmV?d00001 diff --git a/module2/exo4/test-notebook_files/figure-latex/unnamed-chunk-19-1.pdf b/module2/exo4/test-notebook_files/figure-latex/unnamed-chunk-19-1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c93e94ba40d8f0dae6c835f1559e1361b2f4beea GIT binary patch literal 4643 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 U42AZsGiopd5+o;QXk`TY4~BAF3jhEB literal 0 HcmV?d00001 diff --git a/module2/exo4/test-notebook_files/figure-latex/unnamed-chunk-20-1.pdf b/module2/exo4/test-notebook_files/figure-latex/unnamed-chunk-20-1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a20c9674874a911438fa5330a3b74271ca38f7d5 GIT binary patch literal 4314 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 debut & data$date <= fin + sum(data$inc[semaines], na.rm = TRUE) +} +``` +L'année 1984 commence en hiver donc dans le pic donc il vaut mieux prendre des années à partir de 1985. +```{r} +annees = 1985:2020 +``` +On va créer un nouveau tableau des incidences par année. +```{r} +incidence_annuelle = data.frame(année = annees, incidence = sapply(annees, pic_annuel)) +head(incidence_annuelle) +``` + +```{r} +plot(incidence_annuelle, type="p") +``` + +Voir les pics les plus importants en faisant un tri par l'incidence. +```{r} +head(incidence_annuelle[order(-incidence_annuelle$incidence),]) +``` + +Histogramme de la fréquence des incidences en 10 catégories. +```{r} +hist(incidence_annuelle$incidence, breaks=10) +``` + diff --git a/module3/incidence-PAY-3.csv b/module3/incidence-PAY-3.csv new file mode 100644 index 0000000..2eda52e --- /dev/null +++ b/module3/incidence-PAY-3.csv @@ -0,0 +1,1851 @@ +# @source="rseau Sentinelles, INSERM, Sorbonne Universit, http://www.sentiweb.fr", @meta={"period":[198444,202014],"geo":["PAY","1"],"geo_ref":"insee","indicator":"3","type":"all","conf_int":true,"compact":false}, @date=2020-04-10T17:15:59+02:00 +week,indicator,inc,inc_low,inc_up,inc100,inc100_low,inc100_up,geo_insee,geo_name +202014,3,0,0,0,0,0,0,FR,France +202013,3,0,0,0,0,0,0,FR,France +202012,3,8321,5873,10769,13,9,17,FR,France +202011,3,101704,93652,109756,154,142,166,FR,France +202010,3,104977,96650,113304,159,146,172,FR,France +202009,3,110696,102066,119326,168,155,181,FR,France +202008,3,143753,133984,153522,218,203,233,FR,France +202007,3,183610,172812,194408,279,263,295,FR,France +202006,3,206669,195481,217857,314,297,331,FR,France +202005,3,187957,177445,198469,285,269,301,FR,France +202004,3,122331,113492,131170,186,173,199,FR,France +202003,3,78413,71330,85496,119,108,130,FR,France +202002,3,53614,47654,59574,81,72,90,FR,France +202001,3,36850,31608,42092,56,48,64,FR,France +201952,3,28135,23220,33050,43,36,50,FR,France +201951,3,29786,25042,34530,45,38,52,FR,France +201950,3,34223,29156,39290,52,44,60,FR,France +201949,3,25662,21414,29910,39,33,45,FR,France +201948,3,22367,18055,26679,34,27,41,FR,France +201947,3,18669,14759,22579,28,22,34,FR,France +201946,3,16030,12567,19493,24,19,29,FR,France +201945,3,10138,7160,13116,15,10,20,FR,France +201944,3,7822,5010,10634,12,8,16,FR,France +201943,3,9487,6448,12526,14,9,19,FR,France +201942,3,7747,5243,10251,12,8,16,FR,France +201941,3,7122,4720,9524,11,7,15,FR,France +201940,3,8505,5784,11226,13,9,17,FR,France +201939,3,7091,4462,9720,11,7,15,FR,France +201938,3,4897,2891,6903,7,4,10,FR,France +201937,3,3172,1367,4977,5,2,8,FR,France +201936,3,2295,728,3862,3,1,5,FR,France +201935,3,1010,2,2018,2,0,4,FR,France +201934,3,1672,279,3065,3,1,5,FR,France +201933,3,1593,68,3118,2,0,4,FR,France +201932,3,1592,71,3113,2,0,4,FR,France +201931,3,2337,695,3979,4,2,6,FR,France +201930,3,1944,415,3473,3,1,5,FR,France +201929,3,2096,420,3772,3,0,6,FR,France +201928,3,1195,125,2265,2,0,4,FR,France +201927,3,2466,848,4084,4,2,6,FR,France +201926,3,1798,402,3194,3,1,5,FR,France +201925,3,1544,389,2699,2,0,4,FR,France +201924,3,876,17,1735,1,0,2,FR,France +201923,3,2004,748,3260,3,1,5,FR,France +201922,3,2181,602,3760,3,1,5,FR,France +201921,3,2585,1102,4068,4,2,6,FR,France +201920,3,2891,1202,4580,4,1,7,FR,France +201919,3,3221,1509,4933,5,2,8,FR,France +201918,3,1385,278,2492,2,0,4,FR,France +201917,3,3166,1348,4984,5,2,8,FR,France +201916,3,3842,1973,5711,6,3,9,FR,France +201915,3,5932,3669,8195,9,6,12,FR,France +201914,3,12675,9167,16183,19,14,24,FR,France +201913,3,16513,12530,20496,25,19,31,FR,France +201912,3,22184,17786,26582,34,27,41,FR,France +201911,3,31553,26556,36550,48,40,56,FR,France +201910,3,49742,43268,56216,76,66,86,FR,France +201909,3,88354,79564,97144,134,121,147,FR,France +201908,3,172604,160024,185184,262,243,281,FR,France +201907,3,307338,291220,323456,467,443,491,FR,France +201906,3,394286,376782,411790,599,572,626,FR,France +201905,3,355785,339295,372275,540,515,565,FR,France +201904,3,241090,227261,254919,366,345,387,FR,France +201903,3,147063,135890,158236,223,206,240,FR,France +201902,3,75548,67632,83464,115,103,127,FR,France +201901,3,50295,43525,57065,76,66,86,FR,France +201852,3,37903,31375,44431,58,48,68,FR,France +201851,3,39259,32977,45541,60,50,70,FR,France +201850,3,27781,22638,32924,42,34,50,FR,France +201849,3,19738,15481,23995,30,24,36,FR,France +201848,3,19501,15275,23727,30,24,36,FR,France +201847,3,15949,12105,19793,24,18,30,FR,France +201846,3,11278,7957,14599,17,12,22,FR,France +201845,3,11065,7791,14339,17,12,22,FR,France +201844,3,6586,3875,9297,10,6,14,FR,France +201843,3,6550,3988,9112,10,6,14,FR,France +201842,3,7787,5129,10445,12,8,16,FR,France +201841,3,8048,5098,10998,12,8,16,FR,France +201840,3,7409,4717,10101,11,7,15,FR,France +201839,3,7174,4235,10113,11,7,15,FR,France +201838,3,7349,4399,10299,11,7,15,FR,France +201837,3,4915,2386,7444,7,3,11,FR,France +201836,3,3215,1349,5081,5,2,8,FR,France +201835,3,1506,239,2773,2,0,4,FR,France +201834,3,1368,116,2620,2,0,4,FR,France +201833,3,1962,5,3919,3,0,6,FR,France +201832,3,1839,183,3495,3,0,6,FR,France +201831,3,2048,242,3854,3,0,6,FR,France +201830,3,1951,202,3700,3,0,6,FR,France +201829,3,1951,252,3650,3,0,6,FR,France +201828,3,1654,52,3256,3,1,5,FR,France +201827,3,3266,1145,5387,5,2,8,FR,France +201826,3,3758,1493,6023,6,3,9,FR,France +201825,3,4580,2220,6940,7,3,11,FR,France +201824,3,3223,1351,5095,5,2,8,FR,France +201823,3,1207,136,2278,2,0,4,FR,France +201822,3,3202,1330,5074,5,2,8,FR,France +201821,3,2537,763,4311,4,1,7,FR,France +201820,3,2694,967,4421,4,1,7,FR,France +201819,3,1025,0,2098,2,0,4,FR,France +201818,3,3541,1416,5666,5,2,8,FR,France +201817,3,2573,1003,4143,4,2,6,FR,France +201816,3,4818,2724,6912,7,4,10,FR,France +201815,3,16311,12168,20454,25,19,31,FR,France +201814,3,22666,18092,27240,35,28,42,FR,France +201813,3,32680,25536,39824,50,39,61,FR,France +201812,3,52040,44590,59490,79,68,90,FR,France +201811,3,65159,56506,73812,99,86,112,FR,France +201810,3,93512,83989,103035,142,128,156,FR,France +201809,3,108545,98645,118445,165,150,180,FR,France +201808,3,131870,120950,142790,201,184,218,FR,France +201807,3,141138,130177,152099,215,198,232,FR,France +201806,3,138810,128164,149456,211,195,227,FR,France +201805,3,157839,146646,169032,240,223,257,FR,France +201804,3,175483,163835,187131,267,249,285,FR,France +201803,3,178329,166640,190018,271,253,289,FR,France +201802,3,198079,185663,210495,302,283,321,FR,France +201801,3,235493,220941,250045,358,336,380,FR,France +201752,3,299114,279359,318869,459,429,489,FR,France +201751,3,229448,214366,244530,352,329,375,FR,France +201750,3,129535,118787,140283,199,183,215,FR,France +201749,3,63789,56120,71458,98,86,110,FR,France +201748,3,37568,31541,43595,58,49,67,FR,France +201747,3,24972,19923,30021,38,30,46,FR,France +201746,3,13398,9948,16848,21,16,26,FR,France +201745,3,14035,8091,19979,22,13,31,FR,France +201744,3,8544,5318,11770,13,8,18,FR,France +201743,3,7300,4402,10198,11,7,15,FR,France +201742,3,9966,6503,13429,15,10,20,FR,France +201741,3,12434,8718,16150,19,13,25,FR,France +201740,3,12725,8690,16760,20,14,26,FR,France +201739,3,14949,10534,19364,23,16,30,FR,France +201738,3,11463,7438,15488,18,12,24,FR,France +201737,3,9716,6364,13068,15,10,20,FR,France +201736,3,2815,917,4713,4,1,7,FR,France +201735,3,2794,850,4738,4,1,7,FR,France +201734,3,2497,879,4115,4,2,6,FR,France +201733,3,2406,766,4046,4,1,7,FR,France +201732,3,2667,879,4455,4,1,7,FR,France +201731,3,3256,1158,5354,5,2,8,FR,France +201730,3,3759,1299,6219,6,2,10,FR,France +201729,3,5014,1989,8039,8,3,13,FR,France +201728,3,5271,2576,7966,8,4,12,FR,France +201727,3,3924,1432,6416,6,2,10,FR,France +201726,3,3171,1166,5176,5,2,8,FR,France +201725,3,837,0,1721,1,0,2,FR,France +201724,3,1566,248,2884,2,0,4,FR,France +201723,3,1664,203,3125,3,1,5,FR,France +201722,3,1305,92,2518,2,0,4,FR,France +201721,3,971,0,2046,1,0,3,FR,France +201720,3,2686,793,4579,4,1,7,FR,France +201719,3,3461,1490,5432,5,2,8,FR,France +201718,3,2102,515,3689,3,1,5,FR,France +201717,3,2071,428,3714,3,0,6,FR,France +201716,3,1380,222,2538,2,0,4,FR,France +201715,3,479,0,1242,1,0,2,FR,France +201714,3,1110,0,2549,2,0,4,FR,France +201713,3,7594,3808,11380,12,6,18,FR,France +201712,3,8780,4834,12726,13,7,19,FR,France +201711,3,7814,4329,11299,12,7,17,FR,France +201710,3,11802,7964,15640,18,12,24,FR,France +201709,3,13111,9099,17123,20,14,26,FR,France +201708,3,29545,23136,35954,45,35,55,FR,France +201707,3,59590,49764,69416,91,76,106,FR,France +201706,3,93628,82560,104696,144,127,161,FR,France +201705,3,193677,179255,208099,297,275,319,FR,France +201704,3,256428,240618,272238,394,370,418,FR,France +201703,3,267276,251345,283207,410,386,434,FR,France +201702,3,260588,245070,276106,400,376,424,FR,France +201701,3,255535,239743,271327,392,368,416,FR,France +201652,3,224489,207799,241179,345,319,371,FR,France +201651,3,187704,172655,202753,288,265,311,FR,France +201650,3,126570,115081,138059,194,176,212,FR,France +201649,3,76390,67374,85406,117,103,131,FR,France +201648,3,40502,33949,47055,62,52,72,FR,France +201647,3,22270,17612,26928,34,27,41,FR,France +201646,3,20816,16125,25507,32,25,39,FR,France +201645,3,15957,11448,20466,24,17,31,FR,France +201644,3,15145,10357,19933,23,16,30,FR,France +201643,3,9378,5830,12926,14,9,19,FR,France +201642,3,12920,9044,16796,20,14,26,FR,France +201641,3,13909,9709,18109,21,15,27,FR,France +201640,3,13379,8969,17789,21,14,28,FR,France +201639,3,10598,6814,14382,16,10,22,FR,France +201638,3,5969,3073,8865,9,5,13,FR,France +201637,3,4065,1538,6592,6,2,10,FR,France +201636,3,2372,473,4271,4,1,7,FR,France +201635,3,3420,1350,5490,5,2,8,FR,France +201634,3,2233,0,4643,3,0,7,FR,France +201633,3,1567,0,3938,2,0,6,FR,France +201632,3,2100,93,4107,3,0,6,FR,France +201631,3,3691,0,9120,6,0,14,FR,France +201630,3,3209,644,5774,5,1,9,FR,France +201629,3,1469,0,3073,2,0,4,FR,France +201628,3,2725,357,5093,4,0,8,FR,France +201627,3,5905,2343,9467,9,4,14,FR,France +201626,3,4186,1636,6736,6,2,10,FR,France +201625,3,4611,1560,7662,7,2,12,FR,France +201624,3,4977,2404,7550,8,4,12,FR,France +201623,3,4893,2416,7370,8,4,12,FR,France +201622,3,5667,3015,8319,9,5,13,FR,France +201621,3,5603,2475,8731,9,4,14,FR,France +201620,3,3908,1679,6137,6,3,9,FR,France +201619,3,4738,2308,7168,7,3,11,FR,France +201618,3,8204,4394,12014,13,7,19,FR,France +201617,3,13385,8822,17948,21,14,28,FR,France +201616,3,25670,19632,31708,39,30,48,FR,France +201615,3,48441,39824,57058,74,61,87,FR,France +201614,3,92603,81261,103945,142,125,159,FR,France +201613,3,170654,156387,184921,262,240,284,FR,France +201612,3,272174,254338,290010,418,391,445,FR,France +201611,3,304543,286453,322633,467,439,495,FR,France +201610,3,261822,245799,277845,402,377,427,FR,France +201609,3,229943,214533,245353,353,329,377,FR,France +201608,3,195067,180874,209260,299,277,321,FR,France +201607,3,207359,193223,221495,318,296,340,FR,France +201606,3,196143,182672,209614,301,280,322,FR,France +201605,3,178963,166296,191630,275,256,294,FR,France +201604,3,148473,136591,160355,228,210,246,FR,France +201603,3,75277,66630,83924,116,103,129,FR,France +201602,3,44617,37821,51413,68,58,78,FR,France +201601,3,42263,35556,48970,65,55,75,FR,France +201553,3,24835,19106,30564,38,29,47,FR,France +201552,3,19495,14319,24671,30,22,38,FR,France +201551,3,29080,23014,35146,45,36,54,FR,France +201550,3,25043,19812,30274,39,31,47,FR,France +201549,3,21479,16686,26272,33,26,40,FR,France +201548,3,16428,12273,20583,25,19,31,FR,France +201547,3,14959,10856,19062,23,17,29,FR,France +201546,3,12599,8237,16961,20,13,27,FR,France +201545,3,13577,9192,17962,21,14,28,FR,France +201544,3,14596,10025,19167,23,16,30,FR,France +201543,3,16749,11745,21753,26,18,34,FR,France +201542,3,18675,13613,23737,29,21,37,FR,France +201541,3,13585,9830,17340,21,15,27,FR,France +201540,3,13100,9349,16851,20,14,26,FR,France +201539,3,8595,5671,11519,13,8,18,FR,France +201538,3,8402,4929,11875,13,8,18,FR,France +201537,3,8817,4089,13545,14,7,21,FR,France +201536,3,1922,440,3404,3,1,5,FR,France +201535,3,229,0,644,0,0,1,FR,France +201534,3,760,0,1618,1,0,2,FR,France +201533,3,1537,208,2866,2,0,4,FR,France +201532,3,1594,66,3122,2,0,4,FR,France +201531,3,2845,475,5215,4,0,8,FR,France +201530,3,2447,353,4541,4,1,7,FR,France +201529,3,2389,332,4446,4,1,7,FR,France +201528,3,2089,105,4073,3,0,6,FR,France +201527,3,2257,393,4121,3,0,6,FR,France +201526,3,2536,774,4298,4,1,7,FR,France +201525,3,2607,680,4534,4,1,7,FR,France +201524,3,2849,1000,4698,4,1,7,FR,France +201523,3,2702,857,4547,4,1,7,FR,France +201522,3,4262,1989,6535,7,3,11,FR,France +201521,3,5547,2875,8219,9,5,13,FR,France +201520,3,4594,2040,7148,7,3,11,FR,France +201519,3,6307,3256,9358,10,5,15,FR,France +201518,3,3664,1544,5784,6,3,9,FR,France +201517,3,6382,3523,9241,10,6,14,FR,France +201516,3,12098,7913,16283,19,13,25,FR,France +201515,3,19458,14192,24724,30,22,38,FR,France +201514,3,30940,24617,37263,48,38,58,FR,France +201513,3,49563,41986,57140,77,65,89,FR,France +201512,3,70024,61079,78969,109,95,123,FR,France +201511,3,99295,88838,109752,154,138,170,FR,France +201510,3,143931,131682,156180,223,204,242,FR,France +201509,3,238947,222902,254992,370,345,395,FR,France +201508,3,409972,388670,431274,635,602,668,FR,France +201507,3,517750,494301,541199,802,766,838,FR,France +201506,3,533317,510627,556007,827,792,862,FR,France +201505,3,457911,436964,478858,710,678,742,FR,France +201504,3,292161,275491,308831,453,427,479,FR,France +201503,3,153931,141290,166572,239,219,259,FR,France +201502,3,104096,93358,114834,161,144,178,FR,France +201501,3,70962,60505,81419,110,94,126,FR,France +201452,3,63168,52705,73631,98,82,114,FR,France +201451,3,45346,38002,52690,71,60,82,FR,France +201450,3,42182,35049,49315,66,55,77,FR,France +201449,3,33537,27281,39793,52,42,62,FR,France +201448,3,28156,21896,34416,44,34,54,FR,France +201447,3,18158,13186,23130,28,20,36,FR,France +201446,3,14764,10174,19354,23,16,30,FR,France +201445,3,16172,11449,20895,25,18,32,FR,France +201444,3,15500,10464,20536,24,16,32,FR,France +201443,3,16011,10653,21369,25,17,33,FR,France +201442,3,21651,15828,27474,34,25,43,FR,France +201441,3,22486,16295,28677,35,25,45,FR,France +201440,3,16526,11583,21469,26,18,34,FR,France +201439,3,8583,5054,12112,13,8,18,FR,France +201438,3,10567,6496,14638,16,10,22,FR,France +201437,3,7714,3780,11648,12,6,18,FR,France +201436,3,5018,1949,8087,8,3,13,FR,France +201435,3,2268,355,4181,4,1,7,FR,France +201434,3,2367,250,4484,4,1,7,FR,France +201433,3,2358,0,4875,4,0,8,FR,France +201432,3,3229,447,6011,5,1,9,FR,France +201431,3,4143,349,7937,6,0,12,FR,France +201430,3,4631,902,8360,7,1,13,FR,France +201429,3,5122,1258,8986,8,2,14,FR,France +201428,3,4145,1200,7090,6,1,11,FR,France +201427,3,4823,1997,7649,8,4,12,FR,France +201426,3,3858,1235,6481,6,2,10,FR,France +201425,3,4564,1276,7852,7,2,12,FR,France +201424,3,2007,249,3765,3,0,6,FR,France +201423,3,5164,1853,8475,8,3,13,FR,France +201422,3,6907,1856,11958,11,3,19,FR,France +201421,3,4523,1039,8007,7,2,12,FR,France +201420,3,5881,2432,9330,9,4,14,FR,France +201419,3,3588,1277,5899,6,2,10,FR,France +201418,3,4708,1654,7762,7,2,12,FR,France +201417,3,2989,625,5353,5,1,9,FR,France +201416,3,7057,3381,10733,11,5,17,FR,France +201415,3,10800,6762,14838,17,11,23,FR,France +201414,3,19217,13490,24944,30,21,39,FR,France +201413,3,21577,15435,27719,34,24,44,FR,France +201412,3,23524,17260,29788,37,27,47,FR,France +201411,3,44513,35939,53087,69,56,82,FR,France +201410,3,86105,73497,98713,134,114,154,FR,France +201409,3,147035,131889,162181,229,205,253,FR,France +201408,3,188419,171950,204888,293,267,319,FR,France +201407,3,208726,191283,226169,325,298,352,FR,France +201406,3,160403,145280,175526,250,226,274,FR,France +201405,3,120261,107176,133346,187,167,207,FR,France +201404,3,85280,74414,96146,133,116,150,FR,France +201403,3,64159,54089,74229,100,84,116,FR,France +201402,3,46850,38202,55498,73,60,86,FR,France +201401,3,35624,27451,43797,55,42,68,FR,France +201352,3,30142,22721,37563,47,35,59,FR,France +201351,3,29787,23215,36359,47,37,57,FR,France +201350,3,24055,18214,29896,38,29,47,FR,France +201349,3,18071,13058,23084,28,20,36,FR,France +201348,3,17606,12195,23017,28,20,36,FR,France +201347,3,22636,16343,28929,35,25,45,FR,France +201346,3,13340,8367,18313,21,13,29,FR,France +201345,3,10596,6057,15135,17,10,24,FR,France +201344,3,10193,5622,14764,16,9,23,FR,France +201343,3,15780,9497,22063,25,15,35,FR,France +201342,3,14830,9545,20115,23,15,31,FR,France +201341,3,12391,7265,17517,19,11,27,FR,France +201340,3,9794,5140,14448,15,8,22,FR,France +201339,3,5371,1704,9038,8,2,14,FR,France +201338,3,9324,4198,14450,15,7,23,FR,France +201337,3,5027,1752,8302,8,3,13,FR,France +201336,3,4639,1425,7853,7,2,12,FR,France +201335,3,1291,0,3112,2,0,5,FR,France +201334,3,1889,0,4912,3,0,8,FR,France +201333,3,4740,348,9132,7,0,14,FR,France +201332,3,4709,549,8869,7,0,14,FR,France +201331,3,2270,0,5811,4,0,10,FR,France +201330,3,2169,0,4630,3,0,7,FR,France +201329,3,1696,0,3558,3,0,6,FR,France +201328,3,983,0,2168,2,0,4,FR,France +201327,3,4278,1327,7229,7,2,12,FR,France +201326,3,3488,839,6137,5,1,9,FR,France +201325,3,2735,0,5826,4,0,9,FR,France +201324,3,7245,2997,11493,11,4,18,FR,France +201323,3,16094,8918,23270,25,14,36,FR,France +201322,3,7245,2923,11567,11,4,18,FR,France +201321,3,5974,2401,9547,9,3,15,FR,France +201320,3,3831,1245,6417,6,2,10,FR,France +201319,3,1166,0,2680,2,0,4,FR,France +201318,3,3415,757,6073,5,1,9,FR,France +201317,3,7941,2950,12932,12,4,20,FR,France +201316,3,9520,4758,14282,15,8,22,FR,France +201315,3,19357,13311,25403,30,21,39,FR,France +201314,3,36855,27737,45973,58,44,72,FR,France +201313,3,43236,34048,52424,68,54,82,FR,France +201312,3,60822,50414,71230,95,79,111,FR,France +201311,3,84308,72456,96160,132,113,151,FR,France +201310,3,165558,148471,182645,259,232,286,FR,France +201309,3,259984,239067,280901,407,374,440,FR,France +201308,3,351626,327537,375715,550,512,588,FR,France +201307,3,470076,443682,496470,736,695,777,FR,France +201306,3,471647,445112,498182,738,696,780,FR,France +201305,3,492026,464729,519323,770,727,813,FR,France +201304,3,391525,367182,415868,613,575,651,FR,France +201303,3,224661,207134,242188,352,325,379,FR,France +201302,3,184159,168343,199975,288,263,313,FR,France +201301,3,163491,147340,179642,256,231,281,FR,France +201252,3,159290,141978,176602,251,224,278,FR,France +201251,3,113901,99835,127967,179,157,201,FR,France +201250,3,79918,68086,91750,126,107,145,FR,France +201249,3,47537,38711,56363,75,61,89,FR,France +201248,3,43006,32863,53149,68,52,84,FR,France +201247,3,39223,29140,49306,62,46,78,FR,France +201246,3,26436,18286,34586,42,29,55,FR,France +201245,3,18893,12799,24987,30,20,40,FR,France +201244,3,13106,8784,17428,21,14,28,FR,France +201243,3,17791,11284,24298,28,18,38,FR,France +201242,3,13096,8369,17823,21,14,28,FR,France +201241,3,18675,12010,25340,29,19,39,FR,France +201240,3,17873,11545,24201,28,18,38,FR,France +201239,3,20257,14180,26334,32,22,42,FR,France +201238,3,14715,9178,20252,23,14,32,FR,France +201237,3,7775,3509,12041,12,5,19,FR,France +201236,3,6384,2420,10348,10,4,16,FR,France +201235,3,8277,2206,14348,13,3,23,FR,France +201234,3,3858,0,8641,6,0,14,FR,France +201233,3,6492,840,12144,10,1,19,FR,France +201232,3,6381,0,14034,10,0,22,FR,France +201231,3,2696,0,5763,4,0,9,FR,France +201230,3,1834,0,4194,3,0,7,FR,France +201229,3,6329,1424,11234,10,2,18,FR,France +201228,3,4628,1091,8165,7,1,13,FR,France +201227,3,4162,1487,6837,7,3,11,FR,France +201226,3,4819,1097,8541,8,2,14,FR,France +201225,3,2669,530,4808,4,1,7,FR,France +201224,3,5977,2335,9619,9,3,15,FR,France +201223,3,2361,576,4146,4,1,7,FR,France +201222,3,5772,2435,9109,9,4,14,FR,France +201221,3,3722,821,6623,6,1,11,FR,France +201220,3,2731,897,4565,4,1,7,FR,France +201219,3,3267,1317,5217,5,2,8,FR,France +201218,3,2328,569,4087,4,1,7,FR,France +201217,3,6982,2701,11263,11,4,18,FR,France +201216,3,11455,6874,16036,18,11,25,FR,France +201215,3,20437,13435,27439,32,21,43,FR,France +201214,3,36740,27799,45681,58,44,72,FR,France +201213,3,62917,50171,75663,99,79,119,FR,France +201212,3,84738,71566,97910,133,112,154,FR,France +201211,3,128945,113778,144112,203,179,227,FR,France +201210,3,174704,157337,192071,275,248,302,FR,France +201209,3,225648,206810,244486,355,325,385,FR,France +201208,3,287293,264901,309685,452,417,487,FR,France +201207,3,263557,242711,284403,415,382,448,FR,France +201206,3,175123,158942,191304,276,251,301,FR,France +201205,3,106110,92524,119696,167,146,188,FR,France +201204,3,67778,56784,78772,107,90,124,FR,France +201203,3,49440,40981,57899,78,65,91,FR,France +201202,3,40507,32652,48362,64,52,76,FR,France +201201,3,45104,35640,54568,71,56,86,FR,France +201152,3,36532,28367,44697,58,45,71,FR,France +201151,3,25835,19002,32668,41,30,52,FR,France +201150,3,24155,18145,30165,38,28,48,FR,France +201149,3,27209,20376,34042,43,32,54,FR,France +201148,3,32358,24451,40265,51,38,64,FR,France +201147,3,17627,11780,23474,28,19,37,FR,France +201146,3,22368,15730,29006,35,24,46,FR,France +201145,3,18104,11995,24213,29,19,39,FR,France +201144,3,14050,8471,19629,22,13,31,FR,France +201143,3,21522,14251,28793,34,22,46,FR,France +201142,3,16932,11363,22501,27,18,36,FR,France +201141,3,7486,4024,10948,12,7,17,FR,France +201140,3,14053,8659,19447,22,13,31,FR,France +201139,3,17021,11062,22980,27,18,36,FR,France +201138,3,14007,8465,19549,22,13,31,FR,France +201137,3,8365,4174,12556,13,6,20,FR,France +201136,3,4606,1714,7498,7,2,12,FR,France +201135,3,4178,1634,6722,7,3,11,FR,France +201134,3,3312,683,5941,5,1,9,FR,France +201133,3,2421,0,5277,4,0,9,FR,France +201132,3,2590,119,5061,4,0,8,FR,France +201131,3,2409,320,4498,4,1,7,FR,France +201130,3,3972,1395,6549,6,2,10,FR,France +201129,3,2265,717,3813,4,2,6,FR,France +201128,3,1977,255,3699,3,0,6,FR,France +201127,3,3524,551,6497,6,1,11,FR,France +201126,3,1155,0,2685,2,0,4,FR,France +201125,3,3791,1006,6576,6,2,10,FR,France +201124,3,3507,1149,5865,6,2,10,FR,France +201123,3,3406,1170,5642,5,1,9,FR,France +201122,3,3122,1125,5119,5,2,8,FR,France +201121,3,2694,769,4619,4,1,7,FR,France +201120,3,3951,1443,6459,6,2,10,FR,France +201119,3,5416,1995,8837,9,4,14,FR,France +201118,3,5306,1815,8797,8,2,14,FR,France +201117,3,2659,310,5008,4,0,8,FR,France +201116,3,5061,1988,8134,8,3,13,FR,France +201115,3,6557,3038,10076,10,4,16,FR,France +201114,3,7352,3784,10920,12,6,18,FR,France +201113,3,8749,5213,12285,14,8,20,FR,France +201112,3,12491,7845,17137,20,13,27,FR,France +201111,3,14619,10009,19229,23,16,30,FR,France +201110,3,33628,26073,41183,53,41,65,FR,France +201109,3,54522,46057,62987,86,73,99,FR,France +201108,3,78392,67885,88899,124,107,141,FR,France +201107,3,149219,134798,163640,236,213,259,FR,France +201106,3,216579,200236,232922,343,317,369,FR,France +201105,3,278192,260235,296149,440,412,468,FR,France +201104,3,278218,259626,296810,440,411,469,FR,France +201103,3,275882,257313,294451,437,408,466,FR,France +201102,3,308949,288320,329578,489,456,522,FR,France +201101,3,309933,288190,331676,490,456,524,FR,France +201052,3,228105,208046,248164,363,331,395,FR,France +201051,3,158957,142576,175338,253,227,279,FR,France +201050,3,104874,91639,118109,167,146,188,FR,France +201049,3,54971,46418,63524,88,74,102,FR,France +201048,3,36982,29304,44660,59,47,71,FR,France +201047,3,26598,20123,33073,42,32,52,FR,France +201046,3,15465,10915,20015,25,18,32,FR,France +201045,3,9040,5772,12308,14,9,19,FR,France +201044,3,15833,10255,21411,25,16,34,FR,France +201043,3,16002,11001,21003,25,17,33,FR,France +201042,3,18709,13376,24042,30,22,38,FR,France +201041,3,17352,12182,22522,28,20,36,FR,France +201040,3,18331,12824,23838,29,20,38,FR,France +201039,3,11978,7913,16043,19,13,25,FR,France +201038,3,8936,4906,12966,14,8,20,FR,France +201037,3,5318,2551,8085,8,4,12,FR,France +201036,3,4954,2058,7850,8,3,13,FR,France +201035,3,4279,1604,6954,7,3,11,FR,France +201034,3,4926,566,9286,8,1,15,FR,France +201033,3,2950,0,6507,5,0,11,FR,France +201032,3,671,0,1522,1,0,2,FR,France +201031,3,2732,509,4955,4,0,8,FR,France +201030,3,3989,1068,6910,6,1,11,FR,France +201029,3,4123,1531,6715,7,3,11,FR,France +201028,3,1209,0,2640,2,0,4,FR,France +201027,3,2494,433,4555,4,1,7,FR,France +201026,3,5808,2454,9162,9,4,14,FR,France +201025,3,8019,4395,11643,13,7,19,FR,France +201024,3,3584,1657,5511,6,3,9,FR,France +201023,3,4016,1905,6127,6,3,9,FR,France +201022,3,6251,3664,8838,10,6,14,FR,France +201021,3,3860,1636,6084,6,2,10,FR,France +201020,3,2470,442,4498,4,1,7,FR,France +201019,3,2273,636,3910,4,1,7,FR,France +201018,3,4095,1639,6551,7,3,11,FR,France +201017,3,2216,817,3615,4,2,6,FR,France +201016,3,3471,1085,5857,6,2,10,FR,France +201015,3,3990,1376,6604,6,2,10,FR,France +201014,3,6188,3191,9185,10,5,15,FR,France +201013,3,6705,3665,9745,11,6,16,FR,France +201012,3,6727,3582,9872,11,6,16,FR,France +201011,3,8692,5002,12382,14,8,20,FR,France +201010,3,8844,5465,12223,14,9,19,FR,France +201009,3,12081,7334,16828,19,11,27,FR,France +201008,3,15433,10422,20444,25,17,33,FR,France +201007,3,19690,11728,27652,31,18,44,FR,France +201006,3,27858,18883,36833,44,30,58,FR,France +201005,3,22197,17019,27375,35,27,43,FR,France +201004,3,33817,26151,41483,54,42,66,FR,France +201003,3,36236,27936,44536,58,45,71,FR,France +201002,3,40691,32891,48491,65,53,77,FR,France +201001,3,66574,56164,76984,106,89,123,FR,France +200953,3,96141,81818,110464,153,130,176,FR,France +200952,3,172872,153238,192506,275,244,306,FR,France +200951,3,247809,229140,266478,395,365,425,FR,France +200950,3,379424,355974,402874,604,567,641,FR,France +200949,3,473718,447756,499680,754,713,795,FR,France +200948,3,467551,441506,493596,744,703,785,FR,France +200947,3,378924,355752,402096,603,566,640,FR,France +200946,3,223847,203918,243776,356,324,388,FR,France +200945,3,147046,131155,162937,234,209,259,FR,France +200944,3,170231,151298,189164,271,241,301,FR,France +200943,3,131408,114883,147933,209,183,235,FR,France +200942,3,99387,84491,114283,158,134,182,FR,France +200941,3,100802,86381,115223,160,137,183,FR,France +200940,3,111587,97628,125546,178,156,200,FR,France +200939,3,121267,106153,136381,193,169,217,FR,France +200938,3,137924,121242,154606,220,193,247,FR,France +200937,3,101332,87522,115142,161,139,183,FR,France +200936,3,46024,36435,55613,73,58,88,FR,France +200935,3,31660,23669,39651,50,37,63,FR,France +200934,3,24985,17699,32271,40,28,52,FR,France +200933,3,24435,16308,32562,39,26,52,FR,France +200932,3,23151,14624,31678,37,23,51,FR,France +200931,3,30255,9818,50692,48,15,81,FR,France +200930,3,13868,7861,19875,22,12,32,FR,France +200929,3,10704,5314,16094,17,8,26,FR,France +200928,3,15516,273,30759,25,1,49,FR,France +200927,3,10354,2760,17948,16,4,28,FR,France +200926,3,9932,5257,14607,16,9,23,FR,France +200925,3,7619,4026,11212,12,6,18,FR,France +200924,3,7794,3409,12179,12,5,19,FR,France +200923,3,4342,1975,6709,7,3,11,FR,France +200922,3,6390,3020,9760,10,5,15,FR,France +200921,3,7118,3704,10532,11,6,16,FR,France +200920,3,9482,5804,13160,15,9,21,FR,France +200919,3,7538,4299,10777,12,7,17,FR,France +200918,3,9627,5121,14133,15,8,22,FR,France +200917,3,9537,5267,13807,15,8,22,FR,France +200916,3,14666,9218,20114,23,14,32,FR,France +200915,3,17533,12137,22929,28,19,37,FR,France +200914,3,26324,19150,33498,42,31,53,FR,France +200913,3,27737,20781,34693,44,33,55,FR,France +200912,3,38811,29935,47687,62,48,76,FR,France +200911,3,40410,30705,50115,64,49,79,FR,France +200910,3,53395,41943,64847,85,67,103,FR,France +200909,3,70558,57400,83716,112,91,133,FR,France +200908,3,109100,94840,123360,174,151,197,FR,France +200907,3,141531,125101,157961,225,199,251,FR,France +200906,3,276274,252759,299789,440,403,477,FR,France +200905,3,401868,375032,428704,640,597,683,FR,France +200904,3,545313,512892,577734,868,816,920,FR,France +200903,3,520957,487271,554643,829,775,883,FR,France +200902,3,287145,262869,311421,457,418,496,FR,France +200901,3,200349,180878,219820,319,288,350,FR,France +200852,3,198418,115769,281067,323,188,458,FR,France +200851,3,112588,96656,128520,184,158,210,FR,France +200850,3,51746,43319,60173,84,70,98,FR,France +200849,3,34950,27527,42373,57,45,69,FR,France +200848,3,25604,18563,32645,42,31,53,FR,France +200847,3,18706,10838,26574,30,17,43,FR,France +200846,3,10899,5461,16337,18,9,27,FR,France +200845,3,12472,7082,17862,20,11,29,FR,France +200844,3,9772,5661,13883,16,9,23,FR,France +200843,3,9345,5541,13149,15,9,21,FR,France +200842,3,9087,5572,12602,15,9,21,FR,France +200841,3,9925,5637,14213,16,9,23,FR,France +200840,3,7869,4535,11203,13,8,18,FR,France +200839,3,2195,506,3884,4,1,7,FR,France +200838,3,3679,1481,5877,6,2,10,FR,France +200837,3,2429,561,4297,4,1,7,FR,France +200836,3,2512,492,4532,4,1,7,FR,France +200835,3,1901,0,4869,3,0,8,FR,France +200834,3,2552,0,6509,4,0,10,FR,France +200833,3,7229,0,16106,12,0,26,FR,France +200832,3,4378,107,8649,7,0,14,FR,France +200831,3,3972,621,7323,6,1,11,FR,France +200830,3,3821,643,6999,6,1,11,FR,France +200829,3,2055,0,4225,3,0,7,FR,France +200828,3,3257,208,6306,5,0,10,FR,France +200827,3,2862,474,5250,5,1,9,FR,France +200826,3,897,0,2062,1,0,3,FR,France +200825,3,2006,360,3652,3,0,6,FR,France +200824,3,3217,823,5611,5,1,9,FR,France +200823,3,2906,1006,4806,5,2,8,FR,France +200822,3,1792,451,3133,3,1,5,FR,France +200821,3,3642,925,6359,6,2,10,FR,France +200820,3,6452,2790,10114,11,5,17,FR,France +200819,3,5173,1485,8861,8,2,14,FR,France +200818,3,5315,1770,8860,9,3,15,FR,France +200817,3,10150,5835,14465,17,10,24,FR,France +200816,3,11876,7054,16698,19,11,27,FR,France +200815,3,22871,16253,29489,37,26,48,FR,France +200814,3,45610,27907,63313,74,45,103,FR,France +200813,3,38600,29300,47900,63,48,78,FR,France +200812,3,53169,43299,63039,87,71,103,FR,France +200811,3,62014,50430,73598,101,82,120,FR,France +200810,3,90342,75729,104955,147,123,171,FR,France +200809,3,119696,104205,135187,195,170,220,FR,France +200808,3,198688,180749,216627,324,295,353,FR,France +200807,3,286498,264535,308461,467,431,503,FR,France +200806,3,377097,350714,403480,615,572,658,FR,France +200805,3,344050,320436,367664,561,523,599,FR,France +200804,3,290196,268193,312199,473,437,509,FR,France +200803,3,260268,233385,287151,424,380,468,FR,France +200802,3,160872,145311,176433,262,237,287,FR,France +200801,3,102562,88547,116577,167,144,190,FR,France +200752,3,86742,72295,101189,141,117,165,FR,France +200751,3,61954,51764,72144,101,84,118,FR,France +200750,3,45366,36923,53809,74,60,88,FR,France +200749,3,38351,26177,50525,63,43,83,FR,France +200748,3,48174,35418,60930,79,58,100,FR,France +200747,3,30716,23351,38081,50,38,62,FR,France +200746,3,18204,12267,24141,30,20,40,FR,France +200745,3,15521,10195,20847,25,16,34,FR,France +200744,3,13904,9072,18736,23,15,31,FR,France +200743,3,16212,10778,21646,26,17,35,FR,France +200742,3,20197,13955,26439,33,23,43,FR,France +200741,3,12987,8464,17510,21,14,28,FR,France +200740,3,13517,2983,24051,22,5,39,FR,France +200739,3,15985,7519,24451,26,12,40,FR,France +200738,3,4769,837,8701,8,2,14,FR,France +200737,3,1449,300,2598,2,0,4,FR,France +200736,3,1100,0,2424,2,0,4,FR,France +200735,3,1177,0,2872,2,0,5,FR,France +200734,3,3353,654,6052,5,1,9,FR,France +200733,3,4189,360,8018,7,1,13,FR,France +200732,3,132,0,688,0,0,1,FR,France +200731,3,1965,0,4461,3,0,7,FR,France +200730,3,2158,0,4583,4,0,8,FR,France +200729,3,3406,240,6572,6,1,11,FR,France +200728,3,1459,0,3467,2,0,5,FR,France +200727,3,1453,0,3382,2,0,5,FR,France +200726,3,157,0,513,0,0,1,FR,France +200725,3,3699,0,7778,6,0,13,FR,France +200724,3,2854,481,5227,5,1,9,FR,France +200723,3,5343,2164,8522,9,4,14,FR,France +200722,3,7689,4224,11154,13,7,19,FR,France +200721,3,4319,1659,6979,7,3,11,FR,France +200720,3,6400,2685,10115,10,4,16,FR,France +200719,3,3012,703,5321,5,1,9,FR,France +200718,3,2232,348,4116,4,1,7,FR,France +200717,3,4705,1736,7674,8,3,13,FR,France +200716,3,3817,1438,6196,6,2,10,FR,France +200715,3,4757,717,8797,8,1,15,FR,France +200714,3,11377,6957,15797,19,12,26,FR,France +200713,3,21271,13093,29449,35,22,48,FR,France +200712,3,25433,17717,33149,41,28,54,FR,France +200711,3,30764,23356,38172,50,38,62,FR,France +200710,3,49469,40368,58570,81,66,96,FR,France +200709,3,138901,117018,160784,226,190,262,FR,France +200708,3,316747,284988,348506,516,464,568,FR,France +200707,3,417698,386505,448891,681,630,732,FR,France +200706,3,500016,466668,533364,815,761,869,FR,France +200705,3,375457,346822,404092,612,565,659,FR,France +200704,3,209878,189332,230424,342,309,375,FR,France +200703,3,126161,110596,141726,206,181,231,FR,France +200702,3,82849,69493,96205,135,113,157,FR,France +200701,3,70842,58613,83071,115,95,135,FR,France +200652,3,78190,64191,92189,128,105,151,FR,France +200651,3,62734,50210,75258,103,82,124,FR,France +200650,3,35668,27280,44056,58,44,72,FR,France +200649,3,18773,13164,24382,31,22,40,FR,France +200648,3,16439,11225,21653,27,18,36,FR,France +200647,3,16104,9343,22865,26,15,37,FR,France +200646,3,14032,5590,22474,23,9,37,FR,France +200645,3,12285,7745,16825,20,13,27,FR,France +200644,3,8031,4172,11890,13,7,19,FR,France +200643,3,21157,12483,29831,35,21,49,FR,France +200642,3,16673,8249,25097,27,13,41,FR,France +200641,3,13920,9081,18759,23,15,31,FR,France +200640,3,11950,7132,16768,20,12,28,FR,France +200639,3,8945,4333,13557,15,7,23,FR,France +200638,3,2532,138,4926,4,0,8,FR,France +200637,3,1786,233,3339,3,0,6,FR,France +200636,3,1107,0,2346,2,0,4,FR,France +200635,3,2170,0,4760,4,0,8,FR,France +200634,3,1572,0,3756,3,0,7,FR,France +200633,3,0,0,0,0,0,0,FR,France +200632,3,0,0,0,0,0,0,FR,France +200631,3,1773,0,3892,3,0,6,FR,France +200630,3,665,0,1614,1,0,3,FR,France +200629,3,1339,0,3260,2,0,5,FR,France +200628,3,843,0,2245,1,0,3,FR,France +200627,3,1351,0,3031,2,0,5,FR,France +200626,3,4564,1506,7622,7,2,12,FR,France +200625,3,6259,2072,10446,10,3,17,FR,France +200624,3,4279,964,7594,7,2,12,FR,France +200623,3,4532,1489,7575,7,2,12,FR,France +200622,3,5807,2667,8947,10,5,15,FR,France +200621,3,4661,1761,7561,8,3,13,FR,France +200620,3,8859,4754,12964,15,8,22,FR,France +200619,3,5083,2011,8155,8,3,13,FR,France +200618,3,4454,1632,7276,7,2,12,FR,France +200617,3,17762,11802,23722,29,19,39,FR,France +200616,3,22096,15420,28772,36,25,47,FR,France +200615,3,26969,19631,34307,44,32,56,FR,France +200614,3,40321,31022,49620,66,51,81,FR,France +200613,3,77053,63531,90575,126,104,148,FR,France +200612,3,108004,93005,123003,177,152,202,FR,France +200611,3,122437,106388,138486,201,175,227,FR,France +200610,3,124749,109104,140394,204,178,230,FR,France +200609,3,164150,146099,182201,269,239,299,FR,France +200608,3,199088,178830,219346,326,293,359,FR,France +200607,3,243908,221071,266745,400,363,437,FR,France +200606,3,256758,235190,278326,421,386,456,FR,France +200605,3,184928,166901,202955,303,273,333,FR,France +200604,3,104620,90909,118331,171,149,193,FR,France +200603,3,66255,55727,76783,109,92,126,FR,France +200602,3,39211,31418,47004,64,51,77,FR,France +200601,3,34603,26269,42937,57,43,71,FR,France +200552,3,32132,24389,39875,53,40,66,FR,France +200551,3,40344,28397,52291,67,47,87,FR,France +200550,3,36880,28635,45125,61,47,75,FR,France +200549,3,27589,20576,34602,46,34,58,FR,France +200548,3,24860,17839,31881,41,29,53,FR,France +200547,3,26884,19810,33958,44,32,56,FR,France +200546,3,23967,17155,30779,40,29,51,FR,France +200545,3,14609,8709,20509,24,14,34,FR,France +200544,3,20481,13625,27337,34,23,45,FR,France +200543,3,18045,11916,24174,30,20,40,FR,France +200542,3,23653,15209,32097,39,25,53,FR,France +200541,3,26466,18270,34662,44,30,58,FR,France +200540,3,26647,18088,35206,44,30,58,FR,France +200539,3,23994,15381,32607,40,26,54,FR,France +200538,3,21881,13979,29783,36,23,49,FR,France +200537,3,10347,5384,15310,17,9,25,FR,France +200536,3,7082,2806,11358,12,5,19,FR,France +200535,3,2448,0,4987,4,0,8,FR,France +200534,3,5281,539,10023,9,1,17,FR,France +200533,3,2815,0,6252,5,0,11,FR,France +200532,3,1572,0,3690,3,0,6,FR,France +200531,3,3767,0,10955,6,0,18,FR,France +200530,3,2203,0,5072,4,0,9,FR,France +200529,3,3965,739,7191,7,2,12,FR,France +200528,3,1988,96,3880,3,0,6,FR,France +200527,3,2305,0,4713,4,0,8,FR,France +200526,3,4720,1385,8055,8,2,14,FR,France +200525,3,2354,0,4747,4,0,8,FR,France +200524,3,5892,2029,9755,10,4,16,FR,France +200523,3,5246,1722,8770,9,3,15,FR,France +200522,3,3935,1031,6839,6,1,11,FR,France +200521,3,4284,474,8094,7,1,13,FR,France +200520,3,7841,3611,12071,13,6,20,FR,France +200519,3,7638,3346,11930,13,6,20,FR,France +200518,3,2755,388,5122,5,1,9,FR,France +200517,3,7166,3530,10802,12,6,18,FR,France +200516,3,9741,5344,14138,16,9,23,FR,France +200515,3,14881,9018,20744,25,15,35,FR,France +200514,3,21988,14834,29142,36,24,48,FR,France +200513,3,42971,33053,52889,71,55,87,FR,France +200512,3,90040,75374,104706,149,125,173,FR,France +200511,3,183032,161407,204657,302,266,338,FR,France +200510,3,222526,199990,245062,367,330,404,FR,France +200509,3,251784,229464,274104,416,379,453,FR,France +200508,3,277423,254825,300021,458,421,495,FR,France +200507,3,459444,430026,488862,759,710,808,FR,France +200506,3,568610,536207,601013,939,885,993,FR,France +200505,3,568285,534912,601658,938,883,993,FR,France +200504,3,316856,292011,341701,523,482,564,FR,France +200503,3,154208,137061,171355,255,227,283,FR,France +200502,3,88853,75576,102130,147,125,169,FR,France +200501,3,55801,45339,66263,92,75,109,FR,France +200453,3,40695,31926,49464,68,53,83,FR,France +200452,3,32687,24316,41058,54,40,68,FR,France +200451,3,46209,36017,56401,77,60,94,FR,France +200450,3,42358,31865,52851,70,53,87,FR,France +200449,3,27092,17910,36274,45,30,60,FR,France +200448,3,30522,21236,39808,51,36,66,FR,France +200447,3,21148,13386,28910,35,22,48,FR,France +200446,3,13934,8335,19533,23,14,32,FR,France +200445,3,15658,9703,21613,26,16,36,FR,France +200444,3,23166,14852,31480,38,24,52,FR,France +200443,3,16780,10545,23015,28,18,38,FR,France +200442,3,20480,13909,27051,34,23,45,FR,France +200441,3,15852,9789,21915,26,16,36,FR,France +200440,3,25639,17291,33987,43,29,57,FR,France +200439,3,22680,13222,32138,38,22,54,FR,France +200438,3,17483,9417,25549,29,16,42,FR,France +200437,3,9103,4768,13438,15,8,22,FR,France +200436,3,7753,3596,11910,13,6,20,FR,France +200435,3,4408,775,8041,7,1,13,FR,France +200434,3,4501,610,8392,7,1,13,FR,France +200433,3,1697,0,4046,3,0,7,FR,France +200432,3,3496,0,8181,6,0,14,FR,France +200431,3,2949,20,5878,5,0,10,FR,France +200430,3,3557,642,6472,6,1,11,FR,France +200429,3,5164,1162,9166,9,2,16,FR,France +200428,3,6358,2224,10492,11,4,18,FR,France +200427,3,7486,3040,11932,12,5,19,FR,France +200426,3,7113,0,14709,12,0,25,FR,France +200425,3,3275,508,6042,5,0,10,FR,France +200424,3,6737,2394,11080,11,4,18,FR,France +200423,3,9792,807,18777,16,1,31,FR,France +200422,3,8077,3482,12672,13,5,21,FR,France +200421,3,8073,3588,12558,13,6,20,FR,France +200420,3,7885,3454,12316,13,6,20,FR,France +200419,3,7235,3101,11369,12,5,19,FR,France +200418,3,5108,1830,8386,8,3,13,FR,France +200417,3,3647,523,6771,6,1,11,FR,France +200416,3,5265,1359,9171,9,3,15,FR,France +200415,3,8272,3655,12889,14,6,22,FR,France +200414,3,15657,8888,22426,26,15,37,FR,France +200413,3,8316,4067,12565,14,7,21,FR,France +200412,3,12482,6899,18065,21,12,30,FR,France +200411,3,13964,7879,20049,23,13,33,FR,France +200410,3,22531,14164,30898,37,23,51,FR,France +200409,3,12618,7283,17953,21,12,30,FR,France +200408,3,17738,11055,24421,29,18,40,FR,France +200407,3,25484,17228,33740,42,28,56,FR,France +200406,3,27452,19505,35399,46,33,59,FR,France +200405,3,35110,25869,44351,58,43,73,FR,France +200404,3,44571,35266,53876,74,59,89,FR,France +200403,3,60482,50389,70575,100,83,117,FR,France +200402,3,95234,81407,109061,158,135,181,FR,France +200401,3,109116,84565,133667,181,140,222,FR,France +200352,3,72239,5520,138958,121,10,232,FR,France +200351,3,445464,389214,501714,744,650,838,FR,France +200350,3,522427,491781,553073,873,822,924,FR,France +200349,3,555492,524706,586278,928,877,979,FR,France +200348,3,514668,485364,543972,860,811,909,FR,France +200347,3,332927,305972,359882,556,511,601,FR,France +200346,3,146101,126840,165362,244,212,276,FR,France +200345,3,95565,80900,110230,160,135,185,FR,France +200344,3,54703,43193,66213,91,72,110,FR,France +200343,3,45834,36611,55057,77,62,92,FR,France +200342,3,39010,28885,49135,65,48,82,FR,France +200341,3,29579,21478,37680,49,35,63,FR,France +200340,3,30862,19484,42240,52,33,71,FR,France +200339,3,26592,18927,34257,44,31,57,FR,France +200338,3,14811,8777,20845,25,15,35,FR,France +200337,3,14735,7495,21975,25,13,37,FR,France +200336,3,10951,3732,18170,18,6,30,FR,France +200335,3,1504,0,3349,3,0,6,FR,France +200334,3,2194,0,4889,4,0,9,FR,France +200333,3,1504,0,3921,3,0,7,FR,France +200332,3,1619,0,4072,3,0,7,FR,France +200331,3,5164,0,10601,9,0,18,FR,France +200330,3,3183,28,6338,5,0,10,FR,France +200329,3,6801,450,13152,11,0,22,FR,France +200328,3,3975,609,7341,7,1,13,FR,France +200327,3,2293,0,4605,4,0,8,FR,France +200326,3,5333,2138,8528,9,4,14,FR,France +200325,3,2602,0,5228,4,0,8,FR,France +200324,3,8429,0,19483,14,0,32,FR,France +200323,3,4821,1479,8163,8,2,14,FR,France +200322,3,2573,158,4988,4,0,8,FR,France +200321,3,5563,2465,8661,9,4,14,FR,France +200320,3,7554,3748,11360,13,7,19,FR,France +200319,3,8325,3777,12873,14,6,22,FR,France +200318,3,12268,6392,18144,20,10,30,FR,France +200317,3,46253,36234,56272,77,60,94,FR,France +200316,3,50759,39835,61683,85,67,103,FR,France +200315,3,69269,55778,82760,116,93,139,FR,France +200314,3,70084,55374,84794,117,92,142,FR,France +200313,3,70335,56370,84300,118,95,141,FR,France +200312,3,88582,73568,103596,148,123,173,FR,France +200311,3,99729,83353,116105,167,140,194,FR,France +200310,3,121516,104361,138671,203,174,232,FR,France +200309,3,177255,151800,202710,296,253,339,FR,France +200308,3,222638,194269,251007,372,325,419,FR,France +200307,3,237104,207851,266357,396,347,445,FR,France +200306,3,206955,177973,235937,346,298,394,FR,France +200305,3,151864,125877,177851,254,211,297,FR,France +200304,3,95356,76211,114501,159,127,191,FR,France +200303,3,50983,38264,63702,85,64,106,FR,France +200302,3,31447,21706,41188,53,37,69,FR,France +200301,3,31228,19202,43254,52,32,72,FR,France +200252,3,47016,33692,60340,79,57,101,FR,France +200251,3,47629,36912,58346,80,62,98,FR,France +200250,3,35221,26217,44225,59,44,74,FR,France +200249,3,24656,16900,32412,41,28,54,FR,France +200248,3,19799,12868,26730,33,21,45,FR,France +200247,3,16449,9214,23684,28,16,40,FR,France +200246,3,12753,5779,19727,21,9,33,FR,France +200245,3,19304,8475,30133,32,14,50,FR,France +200244,3,18082,10671,25493,30,18,42,FR,France +200243,3,14326,7548,21104,24,13,35,FR,France +200242,3,13774,7800,19748,23,13,33,FR,France +200241,3,11036,5650,16422,19,10,28,FR,France +200240,3,8137,3375,12899,14,6,22,FR,France +200239,3,15989,9892,22086,27,17,37,FR,France +200238,3,7067,3299,10835,12,6,18,FR,France +200237,3,12409,4981,19837,21,9,33,FR,France +200236,3,1679,0,4072,3,0,7,FR,France +200235,3,2126,0,6301,4,0,11,FR,France +200234,3,2843,0,7483,5,0,13,FR,France +200233,3,2670,0,5462,4,0,9,FR,France +200232,3,1087,0,3003,2,0,5,FR,France +200231,3,5455,399,10511,9,1,17,FR,France +200230,3,3601,0,7836,6,0,13,FR,France +200229,3,5576,379,10773,9,0,18,FR,France +200228,3,6602,0,14289,11,0,24,FR,France +200227,3,1882,0,6151,3,0,10,FR,France +200226,3,4523,0,12320,8,0,21,FR,France +200225,3,4765,1076,8454,8,2,14,FR,France +200224,3,12063,7174,16952,20,12,28,FR,France +200223,3,15468,9806,21130,26,16,36,FR,France +200222,3,4854,1696,8012,8,3,13,FR,France +200221,3,5901,2212,9590,10,4,16,FR,France +200220,3,3803,1215,6391,6,2,10,FR,France +200219,3,6139,2598,9680,10,4,16,FR,France +200218,3,6083,2646,9520,10,4,16,FR,France +200217,3,7223,2678,11768,12,4,20,FR,France +200216,3,17762,9887,25637,30,17,43,FR,France +200215,3,21654,13662,29646,36,23,49,FR,France +200214,3,23877,15709,32045,40,26,54,FR,France +200213,3,27497,16289,38705,46,27,65,FR,France +200212,3,33510,20938,46082,56,35,77,FR,France +200211,3,40426,29171,51681,68,49,87,FR,France +200210,3,42915,24537,61293,72,41,103,FR,France +200209,3,63735,48368,79102,107,81,133,FR,France +200208,3,117204,95548,138860,197,161,233,FR,France +200207,3,170251,137065,203437,286,230,342,FR,France +200206,3,325084,296111,354057,546,497,595,FR,France +200205,3,456186,422559,489813,767,710,824,FR,France +200204,3,504715,470859,538571,848,791,905,FR,France +200203,3,383720,353019,414421,645,593,697,FR,France +200202,3,244028,217752,270304,410,366,454,FR,France +200201,3,115422,95696,135148,194,161,227,FR,France +200152,3,57999,43225,72773,98,73,123,FR,France +200151,3,45961,36017,55905,78,61,95,FR,France +200150,3,31309,22878,39740,53,39,67,FR,France +200149,3,34792,23268,46316,59,40,78,FR,France +200148,3,43283,20164,66402,73,34,112,FR,France +200147,3,27455,20021,34889,46,33,59,FR,France +200146,3,21127,14294,27960,36,24,48,FR,France +200145,3,20766,13979,27553,35,24,46,FR,France +200144,3,11410,6593,16227,19,11,27,FR,France +200143,3,23311,15652,30970,39,26,52,FR,France +200142,3,18963,11652,26274,32,20,44,FR,France +200141,3,20241,14032,26450,34,24,44,FR,France +200140,3,18113,9971,26255,31,17,45,FR,France +200139,3,25407,7785,43029,43,13,73,FR,France +200138,3,9736,4985,14487,16,8,24,FR,France +200137,3,8025,3527,12523,14,6,22,FR,France +200136,3,4663,654,8672,8,1,15,FR,France +200135,3,4399,0,9810,7,0,16,FR,France +200134,3,2990,0,6419,5,0,11,FR,France +200133,3,0,0,0,0,0,0,FR,France +200132,3,0,0,0,0,0,0,FR,France +200131,3,18999,4286,33712,32,7,57,FR,France +200130,3,2144,0,5670,4,0,10,FR,France +200129,3,2408,0,5215,4,0,9,FR,France +200128,3,3555,553,6557,6,1,11,FR,France +200127,3,4739,1122,8356,8,2,14,FR,France +200126,3,3335,466,6204,6,1,11,FR,France +200125,3,2643,527,4759,4,0,8,FR,France +200124,3,4784,2158,7410,8,4,12,FR,France +200123,3,6299,3161,9437,11,6,16,FR,France +200122,3,4544,2006,7082,8,4,12,FR,France +200121,3,8925,4094,13756,15,7,23,FR,France +200120,3,15269,8883,21655,26,15,37,FR,France +200119,3,17369,10575,24163,29,18,40,FR,France +200118,3,21043,14262,27824,36,25,47,FR,France +200117,3,25787,19109,32465,44,33,55,FR,France +200116,3,24025,16833,31217,41,29,53,FR,France +200115,3,24188,17340,31036,41,29,53,FR,France +200114,3,40429,31774,49084,68,53,83,FR,France +200113,3,48644,39517,57771,82,67,97,FR,France +200112,3,45411,35780,55042,77,61,93,FR,France +200111,3,49809,40534,59084,84,68,100,FR,France +200110,3,46649,37240,56058,79,63,95,FR,France +200109,3,58623,47346,69900,99,80,118,FR,France +200108,3,77423,63237,91609,131,107,155,FR,France +200107,3,126970,107898,146042,215,183,247,FR,France +200106,3,225969,198142,253796,382,335,429,FR,France +200105,3,278674,249486,307862,471,422,520,FR,France +200104,3,209193,189129,229257,354,320,388,FR,France +200103,3,139823,124243,155403,236,210,262,FR,France +200102,3,105356,92392,118320,178,156,200,FR,France +200101,3,98930,84599,113261,167,143,191,FR,France +200052,3,143525,124203,162847,244,211,277,FR,France +200051,3,125224,108719,141729,213,185,241,FR,France +200050,3,99177,84857,113497,169,145,193,FR,France +200049,3,74170,54196,94144,126,92,160,FR,France +200048,3,43642,34064,53220,74,58,90,FR,France +200047,3,64848,11322,118374,110,19,201,FR,France +200046,3,20598,14053,27143,35,24,46,FR,France +200045,3,25375,17229,33521,43,29,57,FR,France +200044,3,16330,9762,22898,28,17,39,FR,France +200043,3,36951,27693,46209,63,47,79,FR,France +200042,3,41200,30772,51628,70,52,88,FR,France +200041,3,40022,30939,49105,68,53,83,FR,France +200040,3,27237,19986,34488,46,34,58,FR,France +200039,3,19338,12649,26027,33,22,44,FR,France +200038,3,7417,3193,11641,13,6,20,FR,France +200037,3,2243,0,4722,4,0,8,FR,France +200036,3,2990,0,6416,5,0,11,FR,France +200035,3,5590,0,12003,10,0,21,FR,France +200034,3,5188,0,12418,9,0,21,FR,France +200033,3,1690,0,3859,3,0,7,FR,France +200032,3,1405,0,4239,2,0,7,FR,France +200031,3,2159,0,4744,4,0,8,FR,France +200030,3,218,0,783,0,0,1,FR,France +200029,3,1532,0,3751,3,0,7,FR,France +200028,3,1071,0,2881,2,0,5,FR,France +200027,3,2427,150,4704,4,0,8,FR,France +200026,3,1997,0,4996,3,0,8,FR,France +200025,3,4239,221,8257,7,0,14,FR,France +200024,3,5411,1122,9700,9,2,16,FR,France +200023,3,8757,4101,13413,15,7,23,FR,France +200022,3,4966,1694,8238,8,2,14,FR,France +200021,3,4271,1389,7153,7,2,12,FR,France +200020,3,4520,1478,7562,8,3,13,FR,France +200019,3,13867,8548,19186,24,15,33,FR,France +200018,3,5386,2261,8511,9,4,14,FR,France +200017,3,7018,1581,12455,12,3,21,FR,France +200016,3,5328,1433,9223,9,2,16,FR,France +200015,3,12020,6436,17604,20,11,29,FR,France +200014,3,10942,5691,16193,19,10,28,FR,France +200013,3,8572,3443,13701,15,6,24,FR,France +200012,3,7081,3097,11065,12,5,19,FR,France +200011,3,12172,7447,16897,21,13,29,FR,France +200010,3,9091,5450,12732,15,9,21,FR,France +200009,3,14631,9200,20062,25,16,34,FR,France +200008,3,23647,17172,30122,40,29,51,FR,France +200007,3,59173,48440,69906,101,83,119,FR,France +200006,3,146517,129961,163073,249,221,277,FR,France +200005,3,261687,239983,283391,445,408,482,FR,France +200004,3,374822,349785,399859,637,594,680,FR,France +200003,3,484233,456706,511760,824,777,871,FR,France +200002,3,521069,492185,549953,886,837,935,FR,France +200001,3,541945,511326,572564,922,870,974,FR,France +199952,3,387655,360652,414658,663,617,709,FR,France +199951,3,272075,250906,293244,465,429,501,FR,France +199950,3,181113,164571,197655,310,282,338,FR,France +199949,3,112328,99058,125598,192,169,215,FR,France +199948,3,58710,48651,68769,100,83,117,FR,France +199947,3,35912,23462,48362,61,40,82,FR,France +199946,3,8601,1503,15699,15,3,27,FR,France +199945,3,17781,10817,24745,30,18,42,FR,France +199944,3,18238,12870,23606,31,22,40,FR,France +199943,3,18135,12601,23669,31,22,40,FR,France +199942,3,19183,13258,25108,33,23,43,FR,France +199941,3,25171,18689,31653,43,32,54,FR,France +199940,3,24185,16184,32186,41,27,55,FR,France +199939,3,28553,20776,36330,49,36,62,FR,France +199938,3,12430,7759,17101,21,13,29,FR,France +199937,3,7543,4283,10803,13,7,19,FR,France +199936,3,8191,2827,13555,14,5,23,FR,France +199935,3,3334,1188,5480,6,2,10,FR,France +199934,3,7600,0,27730,13,0,47,FR,France +199933,3,9757,354,19160,17,1,33,FR,France +199932,3,7149,0,15077,12,0,26,FR,France +199931,3,2640,0,5463,5,0,10,FR,France +199930,3,1478,0,3153,3,0,6,FR,France +199929,3,3983,498,7468,7,1,13,FR,France +199928,3,3731,712,6750,6,1,11,FR,France +199927,3,5004,1597,8411,9,3,15,FR,France +199926,3,3459,699,6219,6,1,11,FR,France +199925,3,5302,2057,8547,9,3,15,FR,France +199924,3,4327,1646,7008,7,2,12,FR,France +199923,3,5370,2374,8366,9,4,14,FR,France +199922,3,4404,1643,7165,8,3,13,FR,France +199921,3,4180,1485,6875,7,2,12,FR,France +199920,3,6073,2775,9371,10,4,16,FR,France +199919,3,6241,3220,9262,11,6,16,FR,France +199918,3,3057,678,5436,5,1,9,FR,France +199917,3,2904,701,5107,5,1,9,FR,France +199916,3,7539,3360,11718,13,6,20,FR,France +199915,3,11535,6814,16256,20,12,28,FR,France +199914,3,18730,13131,24329,32,22,42,FR,France +199913,3,38453,29560,47346,66,51,81,FR,France +199912,3,58090,48072,68108,99,82,116,FR,France +199911,3,91329,78686,103972,156,134,178,FR,France +199910,3,147976,131058,164894,253,224,282,FR,France +199909,3,207450,188710,226190,355,323,387,FR,France +199908,3,313293,292280,334306,536,500,572,FR,France +199907,3,524136,496702,551570,896,849,943,FR,France +199906,3,493908,466605,521211,844,797,891,FR,France +199905,3,476884,449696,504072,815,769,861,FR,France +199904,3,368514,345131,391897,630,590,670,FR,France +199903,3,242388,224208,260568,414,383,445,FR,France +199902,3,160657,145209,176105,275,249,301,FR,France +199901,3,130133,115125,145141,222,196,248,FR,France +199853,3,107611,92301,122921,185,159,211,FR,France +199852,3,72373,61032,83714,124,105,143,FR,France +199851,3,78179,67156,89202,134,115,153,FR,France +199850,3,54775,45478,64072,94,78,110,FR,France +199849,3,33385,26332,40438,57,45,69,FR,France +199848,3,22636,16668,28604,39,29,49,FR,France +199847,3,14505,9746,19264,25,17,33,FR,France +199846,3,13804,9049,18559,24,16,32,FR,France +199845,3,13021,8113,17929,22,14,30,FR,France +199844,3,12631,7410,17852,22,13,31,FR,France +199843,3,12180,7125,17235,21,12,30,FR,France +199842,3,18885,12726,25044,32,21,43,FR,France +199841,3,24196,17506,30886,42,31,53,FR,France +199840,3,20235,14114,26356,35,25,45,FR,France +199839,3,17075,11538,22612,29,20,38,FR,France +199838,3,10837,6336,15338,19,11,27,FR,France +199837,3,6968,3227,10709,12,6,18,FR,France +199836,3,3033,580,5486,5,1,9,FR,France +199835,3,2491,0,5022,4,0,8,FR,France +199834,3,3853,589,7117,7,1,13,FR,France +199833,3,2934,0,6598,5,0,11,FR,France +199832,3,1308,0,2894,2,0,5,FR,France +199831,3,12147,0,29237,21,0,50,FR,France +199830,3,5309,1628,8990,9,3,15,FR,France +199829,3,6486,2465,10507,11,4,18,FR,France +199828,3,9577,4464,14690,16,7,25,FR,France +199827,3,12358,7158,17558,21,12,30,FR,France +199826,3,10415,6547,14283,18,11,25,FR,France +199825,3,18246,13050,23442,31,22,40,FR,France +199824,3,16263,11126,21400,28,19,37,FR,France +199823,3,8553,4911,12195,15,9,21,FR,France +199822,3,5181,2669,7693,9,5,13,FR,France +199821,3,4751,2416,7086,8,4,12,FR,France +199820,3,12129,8099,16159,21,14,28,FR,France +199819,3,24118,17906,30330,41,30,52,FR,France +199818,3,31612,24512,38712,54,42,66,FR,France +199817,3,61148,51894,70402,105,89,121,FR,France +199816,3,123195,109878,136512,211,188,234,FR,France +199815,3,171603,156715,186491,294,268,320,FR,France +199814,3,319092,298398,339786,547,512,582,FR,France +199813,3,298212,278513,317911,512,478,546,FR,France +199812,3,263585,246356,280814,452,422,482,FR,France +199811,3,220578,204894,236262,378,351,405,FR,France +199810,3,202354,186304,218404,347,319,375,FR,France +199809,3,227553,209970,245136,390,360,420,FR,France +199808,3,271362,252005,290719,465,432,498,FR,France +199807,3,190187,173694,206680,326,298,354,FR,France +199806,3,88217,76829,99605,151,131,171,FR,France +199805,3,45180,36970,53390,77,63,91,FR,France +199804,3,30005,23272,36738,51,39,63,FR,France +199803,3,23900,18221,29579,41,31,51,FR,France +199802,3,31143,23994,38292,53,41,65,FR,France +199801,3,24809,17786,31832,43,31,55,FR,France +199752,3,29039,21984,36094,50,38,62,FR,France +199751,3,34924,27737,42111,60,48,72,FR,France +199750,3,33527,26388,40666,58,46,70,FR,France +199749,3,15978,11147,20809,27,19,35,FR,France +199748,3,11507,7744,15270,20,14,26,FR,France +199747,3,11059,7151,14967,19,12,26,FR,France +199746,3,8073,4613,11533,14,8,20,FR,France +199745,3,18202,13113,23291,31,22,40,FR,France +199744,3,19770,14405,25135,34,25,43,FR,France +199743,3,16707,11945,21469,29,21,37,FR,France +199742,3,15340,10351,20329,26,17,35,FR,France +199741,3,16933,11941,21925,29,20,38,FR,France +199740,3,13292,8709,17875,23,15,31,FR,France +199739,3,10189,6279,14099,18,11,25,FR,France +199738,3,3231,1061,5401,6,2,10,FR,France +199737,3,4542,1949,7135,8,4,12,FR,France +199736,3,5131,2205,8057,9,4,14,FR,France +199735,3,1842,0,3740,3,0,6,FR,France +199734,3,3226,0,6717,6,0,12,FR,France +199733,3,1799,0,4368,3,0,7,FR,France +199732,3,2086,0,4411,4,0,8,FR,France +199731,3,1386,0,3332,2,0,5,FR,France +199730,3,2116,0,4919,4,0,9,FR,France +199729,3,1973,0,4347,3,0,7,FR,France +199728,3,1560,216,2904,3,1,5,FR,France +199727,3,2540,754,4326,4,1,7,FR,France +199726,3,5582,2699,8465,10,5,15,FR,France +199725,3,4012,1090,6934,7,2,12,FR,France +199724,3,4696,1824,7568,8,3,13,FR,France +199723,3,4709,2136,7282,8,4,12,FR,France +199722,3,2283,665,3901,4,1,7,FR,France +199721,3,2108,664,3552,4,2,6,FR,France +199720,3,3257,1519,4995,6,3,9,FR,France +199719,3,4646,2436,6856,8,4,12,FR,France +199718,3,5246,2764,7728,9,5,13,FR,France +199717,3,14236,9906,18566,24,17,31,FR,France +199716,3,12169,8111,16227,21,14,28,FR,France +199715,3,9516,6192,12840,16,10,22,FR,France +199714,3,13602,9659,17545,23,16,30,FR,France +199713,3,18032,13345,22719,31,23,39,FR,France +199712,3,17199,12707,21691,30,22,38,FR,France +199711,3,19988,15419,24557,34,26,42,FR,France +199710,3,21903,17338,26468,38,30,46,FR,France +199709,3,29860,24261,35459,51,41,61,FR,France +199708,3,55445,47857,63033,95,82,108,FR,France +199707,3,70876,62518,79234,122,108,136,FR,France +199706,3,76906,68152,85660,132,117,147,FR,France +199705,3,95900,86095,105705,165,148,182,FR,France +199704,3,96896,87079,106713,167,150,184,FR,France +199703,3,143844,131917,155771,248,227,269,FR,France +199702,3,211578,197395,225761,364,340,388,FR,France +199701,3,280440,263783,297097,483,454,512,FR,France +199652,3,388201,369211,407191,670,637,703,FR,France +199651,3,640627,617388,663866,1106,1066,1146,FR,France +199650,3,535205,514568,555842,924,888,960,FR,France +199649,3,411498,393335,429661,710,679,741,FR,France +199648,3,195568,182563,208573,338,316,360,FR,France +199647,3,71980,63619,80341,124,110,138,FR,France +199646,3,32138,26358,37918,55,45,65,FR,France +199645,3,25551,20136,30966,44,35,53,FR,France +199644,3,10753,7230,14276,19,13,25,FR,France +199643,3,12971,9311,16631,22,16,28,FR,France +199642,3,11929,8472,15386,21,15,27,FR,France +199641,3,9918,6674,13162,17,11,23,FR,France +199640,3,10765,7067,14463,19,13,25,FR,France +199639,3,8377,5183,11571,14,8,20,FR,France +199638,3,9470,5965,12975,16,10,22,FR,France +199637,3,2925,829,5021,5,1,9,FR,France +199636,3,1122,23,2221,2,0,4,FR,France +199635,3,1674,93,3255,3,0,6,FR,France +199634,3,1273,122,2424,2,0,4,FR,France +199633,3,540,0,1246,1,0,2,FR,France +199632,3,1453,176,2730,3,1,5,FR,France +199631,3,3010,752,5268,5,1,9,FR,France +199630,3,2992,706,5278,5,1,9,FR,France +199629,3,1559,144,2974,3,1,5,FR,France +199628,3,3109,541,5677,5,1,9,FR,France +199627,3,4456,1595,7317,8,3,13,FR,France +199626,3,2871,1138,4604,5,2,8,FR,France +199625,3,2308,856,3760,4,1,7,FR,France +199624,3,2490,1067,3913,4,2,6,FR,France +199623,3,2819,1262,4376,5,2,8,FR,France +199622,3,4005,1984,6026,7,4,10,FR,France +199621,3,7042,4291,9793,12,7,17,FR,France +199620,3,10619,7365,13873,18,12,24,FR,France +199619,3,11898,8065,15731,21,14,28,FR,France +199618,3,18338,13352,23324,32,23,41,FR,France +199617,3,24954,19100,30808,43,33,53,FR,France +199616,3,29313,23868,34758,51,42,60,FR,France +199615,3,51703,43644,59762,89,75,103,FR,France +199614,3,44414,36774,52054,77,64,90,FR,France +199613,3,30622,25062,36182,53,43,63,FR,France +199612,3,31818,25852,37784,55,45,65,FR,France +199611,3,24427,19499,29355,42,33,51,FR,France +199610,3,20910,16198,25622,36,28,44,FR,France +199609,3,19594,15228,23960,34,26,42,FR,France +199608,3,19046,14850,23242,33,26,40,FR,France +199607,3,23041,18338,27744,40,32,48,FR,France +199606,3,21810,17153,26467,38,30,46,FR,France +199605,3,25275,20410,30140,44,36,52,FR,France +199604,3,43359,36948,49770,75,64,86,FR,France +199603,3,54691,48016,61366,94,82,106,FR,France +199602,3,105606,96106,115106,182,166,198,FR,France +199601,3,223830,209274,238386,386,361,411,FR,France +199552,3,397122,378252,415992,688,655,721,FR,France +199551,3,749988,725434,774542,1299,1256,1342,FR,France +199550,3,604926,583100,626752,1047,1009,1085,FR,France +199549,3,375500,358200,392800,650,620,680,FR,France +199548,3,206446,193457,219435,357,335,379,FR,France +199547,3,120472,110526,130418,209,192,226,FR,France +199546,3,62380,55042,69718,108,95,121,FR,France +199545,3,29791,24523,35059,52,43,61,FR,France +199544,3,13168,9820,16516,23,17,29,FR,France +199543,3,16188,12389,19987,28,21,35,FR,France +199542,3,15178,11387,18969,26,19,33,FR,France +199541,3,14980,10851,19109,26,19,33,FR,France +199540,3,16245,11610,20880,28,20,36,FR,France +199539,3,18499,13844,23154,32,24,40,FR,France +199538,3,13123,9410,16836,23,17,29,FR,France +199537,3,4895,2666,7124,8,4,12,FR,France +199536,3,3659,1574,5744,6,2,10,FR,France +199535,3,2496,644,4348,4,1,7,FR,France +199534,3,1887,214,3560,3,0,6,FR,France +199533,3,905,0,2007,2,0,4,FR,France +199532,3,700,0,1699,1,0,3,FR,France +199531,3,1946,92,3800,3,0,6,FR,France +199530,3,1898,46,3750,3,0,6,FR,France +199529,3,2148,687,3609,4,1,7,FR,France +199528,3,3312,1430,5194,6,3,9,FR,France +199527,3,4853,2683,7023,8,4,12,FR,France +199526,3,4986,2911,7061,9,5,13,FR,France +199525,3,4571,2520,6622,8,4,12,FR,France +199524,3,8058,5054,11062,14,9,19,FR,France +199523,3,13820,9801,17839,24,17,31,FR,France +199522,3,14124,9999,18249,24,17,31,FR,France +199521,3,11931,8655,15207,21,15,27,FR,France +199520,3,18846,14311,23381,33,25,41,FR,France +199519,3,26261,21488,31034,45,37,53,FR,France +199518,3,39231,33258,45204,68,58,78,FR,France +199517,3,88640,79343,97937,153,137,169,FR,France +199516,3,140488,129439,151537,243,224,262,FR,France +199515,3,181007,169110,192904,313,292,334,FR,France +199514,3,248704,235144,262264,431,408,454,FR,France +199513,3,209839,197191,222487,363,341,385,FR,France +199512,3,122434,112497,132371,212,195,229,FR,France +199511,3,81730,73346,90114,142,127,157,FR,France +199510,3,49387,42703,56071,86,74,98,FR,France +199509,3,39696,33259,46133,69,58,80,FR,France +199508,3,38008,32225,43791,66,56,76,FR,France +199507,3,30550,25479,35621,53,44,62,FR,France +199506,3,37351,32007,42695,65,56,74,FR,France +199505,3,27876,23218,32534,48,40,56,FR,France +199504,3,27643,22818,32468,48,40,56,FR,France +199503,3,24844,20391,29297,43,35,51,FR,France +199502,3,23480,19249,27711,41,34,48,FR,France +199501,3,26556,21916,31196,46,38,54,FR,France +199452,3,22036,17495,26577,38,30,46,FR,France +199451,3,26912,21750,32074,47,38,56,FR,France +199450,3,28831,23470,34192,50,41,59,FR,France +199449,3,21161,16559,25763,37,29,45,FR,France +199448,3,18487,14456,22518,32,25,39,FR,France +199447,3,15206,11578,18834,26,20,32,FR,France +199446,3,14252,10525,17979,25,19,31,FR,France +199445,3,12152,8448,15856,21,15,27,FR,France +199444,3,11307,7688,14926,20,14,26,FR,France +199443,3,11254,8002,14506,20,14,26,FR,France +199442,3,14406,10653,18159,25,18,32,FR,France +199441,3,14073,10341,17805,24,18,30,FR,France +199440,3,15962,11850,20074,28,21,35,FR,France +199439,3,15878,11643,20113,28,21,35,FR,France +199438,3,15366,11100,19632,27,20,34,FR,France +199437,3,5949,3561,8337,10,6,14,FR,France +199436,3,2806,1133,4479,5,2,8,FR,France +199435,3,4556,2358,6754,8,4,12,FR,France +199434,3,3459,1444,5474,6,2,10,FR,France +199433,3,4272,977,7567,7,1,13,FR,France +199432,3,4786,1613,7959,8,2,14,FR,France +199431,3,5027,1580,8474,9,3,15,FR,France +199430,3,2100,520,3680,4,1,7,FR,France +199429,3,1188,0,2384,2,0,4,FR,France +199428,3,1581,316,2846,3,1,5,FR,France +199427,3,713,0,1459,1,0,2,FR,France +199426,3,990,80,1900,2,0,4,FR,France +199425,3,5431,3222,7640,9,5,13,FR,France +199424,3,6288,3723,8853,11,7,15,FR,France +199423,3,6440,1052,11828,11,2,20,FR,France +199422,3,845,0,2449,1,0,4,FR,France +199421,3,2197,395,3999,4,1,7,FR,France +199420,3,2217,852,3582,4,2,6,FR,France +199419,3,1483,406,2560,3,1,5,FR,France +199418,3,3705,1940,5470,6,3,9,FR,France +199417,3,2288,1064,3512,4,2,6,FR,France +199416,3,5156,3176,7136,9,6,12,FR,France +199415,3,6952,4678,9226,12,8,16,FR,France +199414,3,4671,2784,6558,8,5,11,FR,France +199413,3,3343,1641,5045,6,3,9,FR,France +199412,3,4305,2412,6198,7,4,10,FR,France +199411,3,5399,3327,7471,9,5,13,FR,France +199410,3,4548,2529,6567,8,4,12,FR,France +199409,3,5635,3251,8019,10,6,14,FR,France +199408,3,9539,6652,12426,17,12,22,FR,France +199407,3,14639,11188,18090,25,19,31,FR,France +199406,3,17308,13395,21221,30,23,37,FR,France +199405,3,18489,14290,22688,32,25,39,FR,France +199404,3,23712,19048,28376,41,33,49,FR,France +199403,3,29882,24817,34947,52,43,61,FR,France +199402,3,47402,41415,53389,82,72,92,FR,France +199401,3,118119,108182,128056,205,188,222,FR,France +199352,3,233137,218608,247666,406,381,431,FR,France +199351,3,377472,359792,395152,658,627,689,FR,France +199350,3,627639,607097,648181,1094,1058,1130,FR,France +199349,3,898045,873419,922671,1565,1522,1608,FR,France +199348,3,527582,507752,547412,920,885,955,FR,France +199347,3,241371,226769,255973,421,396,446,FR,France +199346,3,76034,68003,84065,133,119,147,FR,France +199345,3,32289,27022,37556,56,47,65,FR,France +199344,3,17832,14015,21649,31,24,38,FR,France +199343,3,15098,11333,18863,26,19,33,FR,France +199342,3,19187,14893,23481,33,26,40,FR,France +199341,3,18285,14384,22186,32,25,39,FR,France +199340,3,13805,10348,17262,24,18,30,FR,France +199339,3,14783,11173,18393,26,20,32,FR,France +199338,3,10492,7329,13655,18,12,24,FR,France +199337,3,7023,4503,9543,12,8,16,FR,France +199336,3,4361,2445,6277,8,5,11,FR,France +199335,3,5589,3066,8112,10,6,14,FR,France +199334,3,2984,1209,4759,5,2,8,FR,France +199333,3,3217,758,5676,6,2,10,FR,France +199332,3,3755,1051,6459,7,2,12,FR,France +199331,3,4163,1768,6558,7,3,11,FR,France +199330,3,4055,1907,6203,7,3,11,FR,France +199329,3,3714,1668,5760,6,2,10,FR,France +199328,3,1774,484,3064,3,1,5,FR,France +199327,3,2574,918,4230,4,1,7,FR,France +199326,3,3048,1450,4646,5,2,8,FR,France +199325,3,8348,5260,11436,15,10,20,FR,France +199324,3,6624,3747,9501,12,7,17,FR,France +199323,3,7424,4302,10546,13,8,18,FR,France +199322,3,3432,1849,5015,6,3,9,FR,France +199321,3,5942,3670,8214,10,6,14,FR,France +199320,3,5137,3157,7117,9,6,12,FR,France +199319,3,4593,2725,6461,8,5,11,FR,France +199318,3,5027,3075,6979,9,6,12,FR,France +199317,3,8111,5138,11084,14,9,19,FR,France +199316,3,24932,19468,30396,43,33,53,FR,France +199315,3,22181,17147,27215,39,30,48,FR,France +199314,3,38266,30865,45667,67,54,80,FR,France +199313,3,62987,54506,71468,110,95,125,FR,France +199312,3,63493,55956,71030,111,98,124,FR,France +199311,3,80548,72628,88468,140,126,154,FR,France +199310,3,127910,117688,138132,223,205,241,FR,France +199309,3,184150,171378,196922,321,299,343,FR,France +199308,3,222932,209051,236813,389,365,413,FR,France +199307,3,248494,234936,262052,433,409,457,FR,France +199306,3,286939,271830,302048,500,474,526,FR,France +199305,3,255890,241516,270264,446,421,471,FR,France +199304,3,193107,181261,204953,337,316,358,FR,France +199303,3,147854,137256,158452,258,240,276,FR,France +199302,3,90269,82164,98374,157,143,171,FR,France +199301,3,75288,67244,83332,131,117,145,FR,France +199253,3,56622,49107,64137,99,86,112,FR,France +199252,3,49588,42568,56608,87,75,99,FR,France +199251,3,41156,35024,47288,72,61,83,FR,France +199250,3,40100,34699,45501,70,61,79,FR,France +199249,3,39146,33847,44445,69,60,78,FR,France +199248,3,32392,27499,37285,57,48,66,FR,France +199247,3,26276,21797,30755,46,38,54,FR,France +199246,3,22758,18462,27054,40,32,48,FR,France +199245,3,22023,17804,26242,39,32,46,FR,France +199244,3,27619,22945,32293,48,40,56,FR,France +199243,3,24969,20704,29234,44,37,51,FR,France +199242,3,29980,25261,34699,52,44,60,FR,France +199241,3,24091,19953,28229,42,35,49,FR,France +199240,3,17593,13885,21301,31,25,37,FR,France +199239,3,13535,10301,16769,24,18,30,FR,France +199238,3,9837,7106,12568,17,12,22,FR,France +199237,3,7480,5130,9830,13,9,17,FR,France +199236,3,5155,2958,7352,9,5,13,FR,France +199235,3,6383,3687,9079,11,6,16,FR,France +199234,3,2953,922,4984,5,1,9,FR,France +199233,3,4046,1549,6543,7,3,11,FR,France +199232,3,4963,2215,7711,9,4,14,FR,France +199231,3,4233,1733,6733,7,3,11,FR,France +199230,3,3091,1145,5037,5,2,8,FR,France +199229,3,3586,1583,5589,6,2,10,FR,France +199228,3,4179,2133,6225,7,3,11,FR,France +199227,3,5568,3134,8002,10,6,14,FR,France +199226,3,5886,3229,8543,10,5,15,FR,France +199225,3,5304,2805,7803,9,5,13,FR,France +199224,3,5928,3482,8374,10,6,14,FR,France +199223,3,3914,1855,5973,7,3,11,FR,France +199222,3,4899,2641,7157,9,5,13,FR,France +199221,3,5059,2889,7229,9,5,13,FR,France +199220,3,4308,2226,6390,8,4,12,FR,France +199219,3,2982,1181,4783,5,2,8,FR,France +199218,3,3887,1777,5997,7,3,11,FR,France +199217,3,3614,1216,6012,6,2,10,FR,France +199216,3,5460,2934,7986,10,6,14,FR,France +199215,3,8642,5029,12255,15,9,21,FR,France +199214,3,11346,7536,15156,20,13,27,FR,France +199213,3,11693,8096,15290,20,14,26,FR,France +199212,3,11752,7834,15670,21,14,28,FR,France +199211,3,11689,7575,15803,20,13,27,FR,France +199210,3,19224,12971,25477,34,23,45,FR,France +199209,3,26629,20275,32983,47,36,58,FR,France +199208,3,37667,30887,44447,66,54,78,FR,France +199207,3,57312,48777,65847,100,85,115,FR,France +199206,3,112450,99989,124911,197,175,219,FR,France +199205,3,165474,151342,179606,290,265,315,FR,France +199204,3,147959,133595,162323,259,234,284,FR,France +199203,3,137893,122944,152842,241,215,267,FR,France +199202,3,185852,166558,205146,325,291,359,FR,France +199201,3,247688,222574,272802,434,390,478,FR,France +199152,3,349815,325499,374131,615,572,658,FR,France +199151,3,378413,355928,400898,666,626,706,FR,France +199150,3,198721,182878,214564,350,322,378,FR,France +199149,3,93903,82992,104814,165,146,184,FR,France +199148,3,45173,37384,52962,79,65,93,FR,France +199147,3,35691,28224,43158,63,50,76,FR,France +199146,3,23685,17531,29839,42,31,53,FR,France +199145,3,19565,13551,25579,34,23,45,FR,France +199144,3,21571,15477,27665,38,27,49,FR,France +199143,3,28842,21958,35726,51,39,63,FR,France +199142,3,27483,20385,34581,48,36,60,FR,France +199141,3,28185,20655,35715,50,37,63,FR,France +199140,3,26740,16049,37431,47,28,66,FR,France +199139,3,14373,8734,20012,25,15,35,FR,France +199138,3,7460,3700,11220,13,6,20,FR,France +199137,3,2429,434,4424,4,0,8,FR,France +199136,3,2380,0,4882,4,0,8,FR,France +199135,3,2372,0,5025,4,0,9,FR,France +199134,3,2099,0,5104,4,0,9,FR,France +199133,3,1654,0,4102,3,0,7,FR,France +199132,3,625,0,2190,1,0,4,FR,France +199131,3,2464,0,5830,4,0,10,FR,France +199130,3,2382,0,6857,4,0,12,FR,France +199129,3,3837,40,7634,7,0,14,FR,France +199128,3,3297,152,6442,6,0,12,FR,France +199127,3,3164,934,5394,6,2,10,FR,France +199126,3,6376,3324,9428,11,6,16,FR,France +199125,3,8218,4776,11660,14,8,20,FR,France +199124,3,8223,4660,11786,14,8,20,FR,France +199123,3,6801,3596,10006,12,6,18,FR,France +199122,3,6050,2682,9418,11,5,17,FR,France +199121,3,6391,3385,9397,11,6,16,FR,France +199120,3,8633,4683,12583,15,8,22,FR,France +199119,3,7785,3986,11584,14,7,21,FR,France +199118,3,10856,6457,15255,19,11,27,FR,France +199117,3,15603,10950,20256,27,19,35,FR,France +199116,3,15665,11184,20146,28,20,36,FR,France +199115,3,15062,10715,19409,26,18,34,FR,France +199114,3,27862,21583,34141,49,38,60,FR,France +199113,3,32179,25829,38529,57,46,68,FR,France +199112,3,27873,22312,33434,49,39,59,FR,France +199111,3,46186,38876,53496,81,68,94,FR,France +199110,3,88750,77784,99716,156,137,175,FR,France +199109,3,139093,124326,153860,245,219,271,FR,France +199108,3,216369,198630,234108,381,350,412,FR,France +199107,3,208836,191789,225883,367,337,397,FR,France +199106,3,134737,121280,148194,237,213,261,FR,France +199105,3,73564,62716,84412,129,110,148,FR,France +199104,3,48253,39031,57475,85,69,101,FR,France +199103,3,29382,22258,36506,52,39,65,FR,France +199102,3,29759,22044,37474,52,38,66,FR,France +199101,3,42927,33706,52148,76,60,92,FR,France +199052,3,41262,31607,50917,73,56,90,FR,France +199051,3,46924,37544,56304,83,66,100,FR,France +199050,3,44125,36137,52113,78,64,92,FR,France +199049,3,38379,30603,46155,68,54,82,FR,France +199048,3,29571,22315,36827,52,39,65,FR,France +199047,3,23358,15890,30826,41,28,54,FR,France +199046,3,20246,7930,32562,36,14,58,FR,France +199045,3,17571,11591,23551,31,20,42,FR,France +199044,3,16182,10305,22059,29,19,39,FR,France +199043,3,17579,11588,23570,31,20,42,FR,France +199042,3,13011,7875,18147,23,14,32,FR,France +199041,3,19723,13330,26116,35,24,46,FR,France +199040,3,20433,14614,26252,36,26,46,FR,France +199039,3,15618,10315,20921,28,19,37,FR,France +199038,3,11146,6197,16095,20,11,29,FR,France +199037,3,4051,1022,7080,7,2,12,FR,France +199036,3,2542,124,4960,4,0,8,FR,France +199035,3,934,0,2681,2,0,5,FR,France +199034,3,201,0,595,0,0,1,FR,France +199033,3,0,0,0,0,0,0,FR,France +199032,3,1399,0,3849,2,0,6,FR,France +199031,3,881,0,2206,2,0,4,FR,France +199030,3,425,0,1262,1,0,2,FR,France +199029,3,1077,0,2643,2,0,5,FR,France +199028,3,959,0,2252,2,0,4,FR,France +199027,3,2948,793,5103,5,1,9,FR,France +199026,3,7236,2651,11821,13,5,21,FR,France +199025,3,7879,3136,12622,14,6,22,FR,France +199024,3,5727,2460,8994,10,4,16,FR,France +199023,3,3655,1043,6267,6,1,11,FR,France +199022,3,4196,1292,7100,7,2,12,FR,France +199021,3,1004,0,2367,2,0,4,FR,France +199020,3,4506,1771,7241,8,3,13,FR,France +199019,3,5897,2440,9354,10,4,16,FR,France +199018,3,1738,141,3335,3,0,6,FR,France +199017,3,5278,2197,8359,9,4,14,FR,France +199016,3,8129,3754,12504,14,6,22,FR,France +199015,3,11707,5831,17583,21,11,31,FR,France +199014,3,12862,8177,17547,23,15,31,FR,France +199013,3,21879,15088,28670,39,27,51,FR,France +199012,3,17035,11135,22935,30,20,40,FR,France +199011,3,20018,14311,25725,35,25,45,FR,France +199010,3,16294,11045,21543,29,20,38,FR,France +199009,3,21793,15460,28126,39,28,50,FR,France +199008,3,26110,19342,32878,46,34,58,FR,France +199007,3,61742,49720,73764,109,88,130,FR,France +199006,3,399984,353345,446623,707,625,789,FR,France +199005,3,161765,146354,177176,286,259,313,FR,France +199004,3,287771,267698,307844,509,474,544,FR,France +199003,3,315466,296550,334382,558,525,591,FR,France +199002,3,345060,326087,364033,610,576,644,FR,France +199001,3,483600,460913,506287,855,815,895,FR,France +198952,3,581149,556023,606275,1035,990,1080,FR,France +198951,3,821540,793846,849234,1463,1414,1512,FR,France +198950,3,749283,723633,774933,1334,1288,1380,FR,France +198949,3,358043,340053,376033,638,606,670,FR,France +198948,3,119087,108253,129921,212,193,231,FR,France +198947,3,40963,33897,48029,73,60,86,FR,France +198946,3,23547,17952,29142,42,32,52,FR,France +198945,3,22711,16999,28423,40,30,50,FR,France +198944,3,23405,17475,29335,42,31,53,FR,France +198943,3,29549,23287,35811,53,42,64,FR,France +198942,3,39410,32172,46648,70,57,83,FR,France +198941,3,43763,35245,52281,78,63,93,FR,France +198940,3,31453,24288,38618,56,43,69,FR,France +198939,3,24622,18425,30819,44,33,55,FR,France +198938,3,18296,13483,23109,33,24,42,FR,France +198937,3,12022,8082,15962,21,14,28,FR,France +198936,3,4769,2299,7239,8,4,12,FR,France +198935,3,4661,1696,7626,8,3,13,FR,France +198934,3,6039,2185,9893,11,4,18,FR,France +198933,3,7940,3858,12022,14,7,21,FR,France +198932,3,7114,2361,11867,13,5,21,FR,France +198931,3,2721,0,5478,5,0,10,FR,France +198930,3,3168,561,5775,6,1,11,FR,France +198929,3,3909,1504,6314,7,3,11,FR,France +198928,3,1284,105,2463,2,0,4,FR,France +198927,3,3641,1350,5932,6,2,10,FR,France +198926,3,5753,2885,8621,10,5,15,FR,France +198925,3,6299,3454,9144,11,6,16,FR,France +198924,3,6337,3537,9137,11,6,16,FR,France +198923,3,11779,7984,15574,21,14,28,FR,France +198922,3,9104,4764,13444,16,8,24,FR,France +198921,3,9554,4316,14792,17,8,26,FR,France +198920,3,6093,1023,11163,11,2,20,FR,France +198919,3,0,,,0,,,FR,France +198918,3,13452,1365,25539,24,2,46,FR,France +198917,3,10949,7147,14751,19,12,26,FR,France +198916,3,10908,7494,14322,19,13,25,FR,France +198915,3,9667,6209,13125,17,11,23,FR,France +198914,3,15230,10469,19991,27,19,35,FR,France +198913,3,10564,6767,14361,19,12,26,FR,France +198912,3,13419,9542,17296,24,17,31,FR,France +198911,3,16633,12140,21126,30,22,38,FR,France +198910,3,12387,8750,16024,22,16,28,FR,France +198909,3,12895,9183,16607,23,16,30,FR,France +198908,3,19746,15258,24234,35,27,43,FR,France +198907,3,27277,21760,32794,49,39,59,FR,France +198906,3,47844,40320,55368,85,72,98,FR,France +198905,3,52840,45665,60015,94,81,107,FR,France +198904,3,54942,47750,62134,98,85,111,FR,France +198903,3,66010,58065,73955,118,104,132,FR,France +198902,3,112284,102003,122565,200,182,218,FR,France +198901,3,202266,188305,216227,360,335,385,FR,France +198852,3,467971,447033,488909,837,800,874,FR,France +198851,3,872748,846468,899028,1562,1515,1609,FR,France +198850,3,1001824,974799,1028849,1793,1745,1841,FR,France +198849,3,966523,940068,992978,1729,1682,1776,FR,France +198848,3,637811,614785,660837,1141,1100,1182,FR,France +198847,3,246062,231234,260890,440,413,467,FR,France +198846,3,92484,83160,101808,165,148,182,FR,France +198845,3,53940,46148,61732,97,83,111,FR,France +198844,3,42106,35336,48876,75,63,87,FR,France +198843,3,38252,31909,44595,68,57,79,FR,France +198842,3,45495,38467,52523,81,68,94,FR,France +198841,3,46336,39344,53328,83,70,96,FR,France +198840,3,39882,33507,46257,71,60,82,FR,France +198839,3,43730,36755,50705,78,66,90,FR,France +198838,3,35243,29367,41119,63,52,74,FR,France +198837,3,15537,11911,19163,28,22,34,FR,France +198836,3,7539,4840,10238,13,8,18,FR,France +198835,3,7797,4762,10832,14,9,19,FR,France +198834,3,4950,2005,7895,9,4,14,FR,France +198833,3,7937,3861,12013,14,7,21,FR,France +198832,3,7033,2595,11471,13,5,21,FR,France +198831,3,8758,3591,13925,16,7,25,FR,France +198830,3,4205,1224,7186,8,3,13,FR,France +198829,3,6103,1013,11193,11,2,20,FR,France +198828,3,8562,3483,13641,15,6,24,FR,France +198827,3,4690,2196,7184,8,4,12,FR,France +198826,3,7065,3905,10225,13,7,19,FR,France +198825,3,7657,4664,10650,14,9,19,FR,France +198824,3,6676,3978,9374,12,7,17,FR,France +198823,3,8695,5755,11635,16,11,21,FR,France +198822,3,11566,8282,14850,21,15,27,FR,France +198821,3,11107,7742,14472,20,14,26,FR,France +198820,3,14118,10223,18013,25,18,32,FR,France +198819,3,18260,13847,22673,33,25,41,FR,France +198818,3,20415,16281,24549,37,30,44,FR,France +198817,3,21750,17436,26064,39,31,47,FR,France +198816,3,33730,27496,39964,60,49,71,FR,France +198815,3,70616,61754,79478,126,110,142,FR,France +198814,3,123868,113211,134525,222,203,241,FR,France +198813,3,193710,181519,205901,347,325,369,FR,France +198812,3,283445,268834,298056,507,481,533,FR,France +198811,3,316175,300858,331492,566,539,593,FR,France +198810,3,235142,222004,248280,421,397,445,FR,France +198809,3,135564,125263,145865,243,225,261,FR,France +198808,3,87753,78449,97057,157,140,174,FR,France +198807,3,77099,68423,85775,138,122,154,FR,France +198806,3,69349,61502,77196,124,110,138,FR,France +198805,3,72705,64952,80458,130,116,144,FR,France +198804,3,72818,64944,80692,130,116,144,FR,France +198803,3,68869,60922,76816,123,109,137,FR,France +198802,3,59743,51907,67579,107,93,121,FR,France +198801,3,60929,52573,69285,109,94,124,FR,France +198753,3,47257,38170,56344,85,69,101,FR,France +198752,3,11935,2353,21517,21,4,38,FR,France +198751,3,47744,34266,61222,86,62,110,FR,France +198750,3,57767,50181,65353,104,90,118,FR,France +198749,3,49380,42461,56299,89,77,101,FR,France +198748,3,41871,35115,48627,75,63,87,FR,France +198747,3,29688,23465,35911,53,42,64,FR,France +198746,3,37216,30199,44233,67,54,80,FR,France +198745,3,35456,29024,41888,64,52,76,FR,France +198744,3,41024,33829,48219,74,61,87,FR,France +198743,3,46356,38370,54342,83,69,97,FR,France +198742,3,38021,30236,45806,68,54,82,FR,France +198741,3,42021,32016,52026,76,58,94,FR,France +198740,3,24641,15930,33352,44,28,60,FR,France +198739,3,32328,23548,41108,58,42,74,FR,France +198738,3,16782,11870,21694,30,21,39,FR,France +198737,3,11208,6542,15874,20,12,28,FR,France +198736,3,7906,4014,11798,14,7,21,FR,France +198735,3,6149,2970,9328,11,5,17,FR,France +198734,3,6631,2734,10528,12,5,19,FR,France +198733,3,6404,1834,10974,12,4,20,FR,France +198732,3,7215,2353,12077,13,4,22,FR,France +198731,3,8233,3655,12811,15,7,23,FR,France +198730,3,4642,1301,7983,8,2,14,FR,France +198729,3,4389,913,7865,8,2,14,FR,France +198728,3,2702,138,5266,5,0,10,FR,France +198727,3,10171,5904,14438,18,10,26,FR,France +198726,3,12341,7824,16858,22,14,30,FR,France +198725,3,23413,15490,31336,42,28,56,FR,France +198724,3,11289,7282,15296,20,13,27,FR,France +198723,3,15857,10943,20771,29,20,38,FR,France +198722,3,14887,9743,20031,27,18,36,FR,France +198721,3,17619,12649,22589,32,23,41,FR,France +198720,3,10344,6454,14234,19,12,26,FR,France +198719,3,12539,7943,17135,23,15,31,FR,France +198718,3,16095,10330,21860,29,19,39,FR,France +198717,3,21256,14850,27662,38,26,50,FR,France +198716,3,32416,25100,39732,58,45,71,FR,France +198715,3,44292,36456,52128,80,66,94,FR,France +198714,3,50642,41866,59418,91,75,107,FR,France +198713,3,62246,52749,71743,112,95,129,FR,France +198712,3,59625,50653,68597,107,91,123,FR,France +198711,3,53561,45035,62087,96,81,111,FR,France +198710,3,93067,80519,105615,167,144,190,FR,France +198709,3,147006,133519,160493,264,240,288,FR,France +198708,3,217779,202179,233379,391,363,419,FR,France +198707,3,288180,270718,305642,518,487,549,FR,France +198706,3,296702,279051,314353,533,501,565,FR,France +198705,3,236046,219483,252609,424,394,454,FR,France +198704,3,158333,143625,173041,285,259,311,FR,France +198703,3,103841,91699,115983,187,165,209,FR,France +198702,3,74213,64014,84412,133,115,151,FR,France +198701,3,69745,59207,80283,125,106,144,FR,France +198652,3,76263,64958,87568,138,118,158,FR,France +198651,3,72920,63047,82793,132,114,150,FR,France +198650,3,73413,64019,82807,133,116,150,FR,France +198649,3,56296,48229,64363,102,87,117,FR,France +198648,3,46031,38578,53484,83,70,96,FR,France +198647,3,36740,29710,43770,66,53,79,FR,France +198646,3,32134,25327,38941,58,46,70,FR,France +198645,3,38964,31382,46546,70,56,84,FR,France +198644,3,28646,22048,35244,52,40,64,FR,France +198643,3,27532,20842,34222,50,38,62,FR,France +198642,3,31815,25124,38506,57,45,69,FR,France +198641,3,32864,25939,39789,59,47,71,FR,France +198640,3,33516,26776,40256,60,48,72,FR,France +198639,3,28665,22477,34853,52,41,63,FR,France +198638,3,26615,20479,32751,48,37,59,FR,France +198637,3,15998,10802,21194,29,20,38,FR,France +198636,3,9182,4982,13382,17,9,25,FR,France +198635,3,10587,4470,16704,19,8,30,FR,France +198634,3,5762,858,10666,10,1,19,FR,France +198633,3,3115,554,5676,6,1,11,FR,France +198632,3,1027,0,2311,2,0,4,FR,France +198631,3,2247,0,4574,4,0,8,FR,France +198630,3,2346,141,4551,4,0,8,FR,France +198629,3,3654,931,6377,7,2,12,FR,France +198628,3,2327,0,5318,4,0,9,FR,France +198627,3,7529,3353,11705,14,6,22,FR,France +198626,3,8778,5106,12450,16,9,23,FR,France +198625,3,11075,6804,15346,20,12,28,FR,France +198624,3,11160,7252,15068,20,13,27,FR,France +198623,3,14372,9896,18848,26,18,34,FR,France +198622,3,9717,5594,13840,18,11,25,FR,France +198621,3,14460,9575,19345,26,17,35,FR,France +198620,3,17133,12106,22160,31,22,40,FR,France +198619,3,22177,16008,28346,40,29,51,FR,France +198618,3,31736,24115,39357,57,43,71,FR,France +198617,3,34874,27440,42308,63,50,76,FR,France +198616,3,41196,32894,49498,74,59,89,FR,France +198615,3,42659,33537,51781,77,61,93,FR,France +198614,3,49792,39728,59856,90,72,108,FR,France +198613,3,87249,63562,110936,157,114,200,FR,France +198612,3,124777,97237,152317,225,175,275,FR,France +198611,3,168146,151035,185257,303,272,334,FR,France +198610,3,257305,231225,283385,464,417,511,FR,France +198609,3,321140,296644,345636,580,536,624,FR,France +198608,3,448786,419219,478353,810,757,863,FR,France +198607,3,490723,460150,521296,886,831,941,FR,France +198606,3,439300,411764,466836,793,743,843,FR,France +198605,3,364727,339868,389586,658,613,703,FR,France +198604,3,348509,322464,374554,629,582,676,FR,France +198603,3,271539,248654,294424,490,449,531,FR,France +198602,3,178138,159344,196932,322,288,356,FR,France +198601,3,112614,96539,128689,203,174,232,FR,France +198552,3,86452,72250,100654,157,131,183,FR,France +198551,3,114666,99538,129794,208,181,235,FR,France +198550,3,86031,73604,98458,156,133,179,FR,France +198549,3,65931,55326,76536,120,101,139,FR,France +198548,3,68291,57581,79001,124,105,143,FR,France +198547,3,66177,55221,77133,120,100,140,FR,France +198546,3,70534,58788,82280,128,107,149,FR,France +198545,3,57514,47167,67861,104,85,123,FR,France +198544,3,67356,55744,78968,122,101,143,FR,France +198543,3,87402,74208,100596,158,134,182,FR,France +198542,3,76218,64604,87832,138,117,159,FR,France +198541,3,45712,36755,54669,83,67,99,FR,France +198540,3,49739,40335,59143,90,73,107,FR,France +198539,3,39819,31234,48404,72,56,88,FR,France +198538,3,27605,20614,34596,50,37,63,FR,France +198537,3,22219,15626,28812,40,28,52,FR,France +198536,3,27986,18992,36980,51,35,67,FR,France +198535,3,30215,18546,41884,55,34,76,FR,France +198534,3,40389,24786,55992,73,45,101,FR,France +198533,3,22611,8819,36403,41,16,66,FR,France +198532,3,7488,1851,13125,14,4,24,FR,France +198531,3,16958,8479,25437,31,16,46,FR,France +198530,3,11598,5507,17689,21,10,32,FR,France +198529,3,13054,6474,19634,24,12,36,FR,France +198528,3,14588,7659,21517,26,13,39,FR,France +198527,3,19670,11761,27579,36,22,50,FR,France +198526,3,18609,12637,24581,34,23,45,FR,France +198525,3,19362,12454,26270,35,22,48,FR,France +198524,3,19855,13577,26133,36,25,47,FR,France +198523,3,19373,10010,28736,35,18,52,FR,France +198522,3,24099,17190,31008,44,31,57,FR,France +198521,3,26096,19621,32571,47,35,59,FR,France +198520,3,27896,20885,34907,51,38,64,FR,France +198519,3,43154,32821,53487,78,59,97,FR,France +198518,3,40555,29935,51175,74,55,93,FR,France +198517,3,34053,24366,43740,62,44,80,FR,France +198516,3,50362,36451,64273,91,66,116,FR,France +198515,3,63881,45538,82224,116,83,149,FR,France +198514,3,134545,114400,154690,244,207,281,FR,France +198513,3,197206,176080,218332,357,319,395,FR,France +198512,3,245240,223304,267176,445,405,485,FR,France +198511,3,276205,252399,300011,501,458,544,FR,France +198510,3,353231,326279,380183,640,591,689,FR,France +198509,3,369895,341109,398681,670,618,722,FR,France +198508,3,389886,359529,420243,707,652,762,FR,France +198507,3,471852,432599,511105,855,784,926,FR,France +198506,3,565825,518011,613639,1026,939,1113,FR,France +198505,3,637302,592795,681809,1155,1074,1236,FR,France +198504,3,424937,390794,459080,770,708,832,FR,France +198503,3,213901,174689,253113,388,317,459,FR,France +198502,3,97586,80949,114223,177,147,207,FR,France +198501,3,85489,65918,105060,155,120,190,FR,France +198452,3,84830,60602,109058,154,110,198,FR,France +198451,3,101726,80242,123210,185,146,224,FR,France +198450,3,123680,101401,145959,225,184,266,FR,France +198449,3,101073,81684,120462,184,149,219,FR,France +198448,3,78620,60634,96606,143,110,176,FR,France +198447,3,72029,54274,89784,131,99,163,FR,France +198446,3,87330,67686,106974,159,123,195,FR,France +198445,3,135223,101414,169032,246,184,308,FR,France +198444,3,68422,20056,116788,125,37,213,FR,France -- 2.18.1