--- title: "MOOC Recherche reproductible | Travail pratique évalué par les pairs | Sujet 2" author: "ALB" date: "Créé le : 27/12/2020 et dernière modification apportée le 27/12/2020" output: html_document --- # 1. Présentation de l'exercice ## 1.1. Objectif de travail "Sujet 2 : le pouvoir d'achat des ouvriers anglais du XVIe au XIXe siècle" L'exercice vise à reproduire puis à tenter de raffiner la représentation de l'évolution du prix du blé et du salaire moyen en Angleterre entre 1565 et 1821 réalisée à l'époque par William Playfair et publiée dans son livre "A Letter on Our Agricultural Distresses, Their Causes and Remedies". # 1.2. Source et préparation des données Les données brutes ont été obtenues par numérisation du graphe et peuvent être récupérées au format CSV [ici] (https://raw.githubusercontent.com/vincentarelbundock/Rdatasets/master/csv/HistData/Wheat.csv). Le fichier de données a été téléchargé en local afin de pallier d'éventuels problèmes ultérieurs de connexion à ce fichier. Ce jeu de données comprend 53 observations sur les 3 variables suivantes : - **Year** : intervalle de 5 ans sur la période de 1565 à 1821 - **Wheat** : prix du blé en shillings pour un quart de boisseau de blé (un quart de boisseau équivaut à 6,8 kg) - **Wages** : salaires donnés en shillings par semaine ```{r importation} dir <- "C:/Users/Documents/Formations/2020-mooc-recherche-reproductible/" file <- paste(dir,"exercice_pairs_mooc_RR_sujet_2.csv",sep="") data <- read.table(file,sep=";",dec=".",header=TRUE) ``` # 1.3. Informations sur l'exécution du code Pour exécuter le code de cette analyse, il faut disposer du logiciel R version 3.6.1 (2019-07-05) et des packages suivants sur son ordinateur: ```{r librairies} library(tidyr) # Manipulation de données library(knitr) # Manipulation de données library(grid) # Annotations en dehors du graphe library(ggplot2) # Graphiques ``` # 2. Reproduction du graphique de William Playfair **Consigne :** "1. Votre première tâche est de reproduire [le graphe de Playfair] (https://fr.wikipedia.org/wiki/William_Playfair#/media/File:Chart_Showing_at_One_View_the_Price_of_the_Quarter_of_Wheat,_and_Wages_of_Labour_by_the_Week,_from_1565_to_1821.png) à partir des données numériques. Représentez, comme Playfair, le prix du blé par des barres et les salaires par une surface bleue délimitée par une courbe rouge. Superposez les deux de la même façon dans un seul graphique. Le style de votre graphique pourra rester différent par rapport à l'original, mais l'impression globale devrait être la même." ```{r reproduction} plot <-ggplot(data=data, aes(x=Year, y=Wheat)) + geom_bar(stat="identity", color="grey") + geom_col(width=5) + geom_line(aes(y = Wages), color = "firebrick", na.rm = TRUE, size = 2.5) + geom_area(aes(y = Wages), fill = "lightblue", na.rm = TRUE, alpha = 0.9) + coord_cartesian(expand = FALSE, clip = "off") + scale_y_continuous(limits = c(0, 100), breaks = seq(0, 100, by = 10), name = "", sec.axis = sec_axis(~., name = "Price of the Quarter of Wheat in Shillings", breaks = seq(0, 100, by = 10)))+ theme(panel.background = element_blank(), panel.grid.major = element_line(colour = "grey25", size = 1), panel.grid.minor = element_line(colour = "grey25", size = 0.5), axis.text = element_text(size = 7), axis.title.y.right = element_text(angle = 90, size = 8)) + annotate(geom = "label", x = 1650, y = 70, label = "CHART,\n Showing at One View\nThe Price of the Quater of Wheat,\n& Wages of Labour by the Week,\nfrom 1565 to 1821", fontface = "bold.italic", size = 3.5, label.r = unit(3, "lines")) + annotate(geom = "text", x = 1635, y = 9, label = "Weekly Wages of a Good Mechanic", fontface = "italic", size = 2.7, angle = 2) plot ``` # 3. Reproduction du graphique de William Playfair avec les unités appropriées Sur le graphique original, les 2 quantités représentées sont représentés sur une même ordonnée représentant le shilling. Il faut ici séparer les 2 quantités en utilisant deux ordonnées différentes (prix du blé et salaires). **Consigne :** "2. Par la suite, améliorez la présentation de ces données. Pour commencer, Playfair a combiné les deux quantités dans un même graphique en simplifiant les unités "shillings par quart de boisseau de blé" et "shillings par semaine" à un simple "shillings", ce qui aujourd'hui n'est plus admissible. Utilisez deux ordonnées différentes, une à gauche et une à droite, et indiquez les unités correctes. À cette occasion, n'hésitez pas à proposer d'autres représentations que des barres et des surface/courbes pour les deux jeux de données si ceci vous paraît judicieux." ```{r doubles ordonnées} plot_axes <- ggplot(data, aes(x = Year, y = Wheat)) + geom_step(aes(color = "Wheat Price", lty = "Wheat Price"), alpha = 0.6, size = 0.8) + geom_step(aes(y = Wages, color = "Weekly Wage", lty = "Weekly Wage"), alpha = 0.7) + scale_color_manual(name = "", limits = c("Wheat Price", "Weekly Wage"), values = c("Wheat Price" = "red", "Weekly Wage" = "blue")) + scale_x_continuous(limits = c(1565, 1830), expand = c(0, 0), breaks = c(1565, seq(1600, 1800, by = 50), 1830), minor_breaks = seq(1565, 1830, by = 5), name = "") + scale_y_continuous(limits = c(0, 100), expand = c(0, 0), breaks = seq(0, 100, by = 10), name = "Price of the Quarter of Wheat (in shillings)", sec.axis = sec_axis(~., name = "Weekly Wage (in shillings)", breaks = seq(0, 100, by = 10))) + theme_light() + labs(title = "Prix du blé et des salaires", subtitle = "(de 1565 à 1821)", y = "") + theme(legend.position = c(0.13, 0.87), legend.title = element_blank(), legend.text = element_text(face = "italic", size = 8), legend.spacing = unit(0.3, "cm")) plot_axes ``` # 4. Améliorations du graphe de Playfair **Consigne :** "3. L'objectif de Playfair était de montrer que le pouvoir d'achat des ouvriers avait augmenté au cours du temps. Essayez de mieux faire ressortir cette information. Pour cela, faites une représentation graphique du pouvoir d'achat au cours du temps, définie comme la quantité de blé qu'un ouvrier peut acheter avec son salaire hebdomadaire. Dans un autre graphique, montrez les deux quantités (prix du blé, salaire) sur deux axes différents, sans l'axe du temps. Trouvez une autre façon d'indiquer la progression du temps dans ce graphique." ## 4.1. Résentation graphique du pouvoir d’achat au cours du temps Pour montrer que le pouvoir d’achat des ouvriers avait augmenté au cours du temps, la première étape est de créer une nouvelle variable codée "pouvoir_achat" qui correspond à la quantité de blé qu’un ouvrier peut acheter avec son salaire hebdomadaire (ratio Wages/Wheat). Nous allons ensuite représenter l'évolution des valeurs prises par cette variable pour représenter la quantité de blé que l'on peut acheter avec un salaire donné sur la période temporelle étudiée. ```{r pouvoir achat} data$pouvoir_achat <- data$Wages / data$Wheat plot_pouvoir_achat <- ggplot(data,aes(x = Year, y = pouvoir_achat)) + geom_step(color = "black", alpha = 0.6, size = 0.8) + geom_smooth(se = FALSE, lwd = 0.8, lty = 1, span = 0.4) + labs(x = "Année", y = "Quantité de blé (quart de boisseau)", title = "Pouvoir d’achat au cours du temps") plot_pouvoir_achat ``` ## 4.2. Evolution réelle du pouvoir d’achat en fonction du salaire ```{r evolution reelle} plot_representation <- ggplot(data,aes(x = Wages, y = pouvoir_achat)) + geom_point() + geom_smooth(se = FALSE, lwd = 0.5, lty = 2) + labs(x = "Salaire hebdomadaire (en shillings)", y = "Pouvoir d'achat", title = "Evolution réelle du pouvoir d'achat en fonction du salaire") plot_representation library(stringr) data$siecle <- paste0(str_sub(data$Year, start = 1, end = 2), "th") plot_representation_temps <- ggplot(data,aes(x = Wages, y = pouvoir_achat,color = siecle)) + geom_point() + geom_smooth(se = FALSE, lwd = 0.5, lty = 2) + labs(x = "Salaire hebdomadaire (en shillings)", y = "Pouvoir d'achat", title = "Evolution réelle du pouvoir d'achat en fonction du salaire et du siècle") plot_representation_temps ```