diff --git a/module3/exo3/data.csv b/module3/exo3/data.csv new file mode 100644 index 0000000000000000000000000000000000000000..1a201c33a10d88009da4e15b06b46c6698bdcdf8 --- /dev/null +++ b/module3/exo3/data.csv @@ -0,0 +1,54 @@ +"","Year","Wheat","Wages" +"1",1565,41,5 +"2",1570,45,5.05 +"3",1575,42,5.08 +"4",1580,49,5.12 +"5",1585,41.5,5.15 +"6",1590,47,5.25 +"7",1595,64,5.54 +"8",1600,27,5.61 +"9",1605,33,5.69 +"10",1610,32,5.78 +"11",1615,33,5.94 +"12",1620,35,6.01 +"13",1625,33,6.12 +"14",1630,45,6.22 +"15",1635,33,6.3 +"16",1640,39,6.37 +"17",1645,53,6.45 +"18",1650,42,6.5 +"19",1655,40.5,6.6 +"20",1660,46.5,6.75 +"21",1665,32,6.8 +"22",1670,37,6.9 +"23",1675,43,7 +"24",1680,35,7.3 +"25",1685,27,7.6 +"26",1690,40,8 +"27",1695,50,8.5 +"28",1700,30,9 +"29",1705,32,10 +"30",1710,44,11 +"31",1715,33,11.75 +"32",1720,29,12.5 +"33",1725,39,13 +"34",1730,26,13.3 +"35",1735,32,13.6 +"36",1740,27,14 +"37",1745,27.5,14.5 +"38",1750,31,15 +"39",1755,35.5,15.7 +"40",1760,31,16.5 +"41",1765,43,17.6 +"42",1770,47,18.5 +"43",1775,44,19.5 +"44",1780,46,21 +"45",1785,42,23 +"46",1790,47.5,25.5 +"47",1795,76,27.5 +"48",1800,79,28.5 +"49",1805,81,29.5 +"50",1810,99,30 +"51",1815,78,NA +"52",1820,54,NA +"53",1821,54,NA diff --git a/module3/exo3/exercice_R_fr.org b/module3/exo3/exercice_R_fr.org index 6a925351e08c659477e2b52d4d857828df75f8cb..a1ea26d008a0d042d4f1ec14fb7efb0e82001b8d 100644 --- a/module3/exo3/exercice_R_fr.org +++ b/module3/exo3/exercice_R_fr.org @@ -1,8 +1,8 @@ #+TITLE: Le pouvoir d'achat des ouvriers anglais du XVIe au XIXe siècle #+AUTHOR: Antoine RICHARD -#+DATE: 24/04/2020 #+LANGUAGE: fr # #+PROPERTY: header-args :eval never-export +#+OPTIONS: ^:{} #+HTML_HEAD: #+HTML_HEAD: @@ -11,8 +11,11 @@ #+HTML_HEAD: #+HTML_HEAD: +Dans document computanionel nous cherchons à reproduire et mettre à +jour l'étude de William Playfair sur l'évolution du pouvoir d'achat +des ouvriers entre les année 1565 et 1810. -* Préface +* Préface :noexport: Pour exécuter le code de cette analyse, il faut disposer des logiciels suivants: @@ -160,7 +163,9 @@ selon les critères suivants: #+begin_src R :results output :session *R* :exports both for(row in 1:nrow(table)){ - if(!is.integer(table[row,"Year"]) || nchar(table[row,"Year"]) != 4){ + if(!is.integer(table[row,"Year"]) + || nchar(table[row,"Year"]) != 4) + { print("Valeur suspecte dans la colonne 'Year': ") print(table[row,]) } @@ -188,8 +193,12 @@ vérifions cela. for(row in 2:nrow(table)){ if(table[row,"Year"] - table[row-1,"Year"] != 5){ print( - paste("Il y a", table[row,"Year"] - table[row-1,"Year"], - "ans entre", table[row,"Year"], "et", table[row-1,"Year"]) + paste( + "Il y a", + table[row,"Year"] - table[row-1,"Year"], + "ans entre", table[row,"Year"], + "et", table[row-1,"Year"] + ) ) } } @@ -225,12 +234,13 @@ prix du blé au cours du temps à l'aide d'un /barplot/, que nous obtenons via la fonction /geom_bar()/. #+begin_src R :results output graphics :file (org-babel-temp-file "figure" ".png") :exports both :width 600 :height 400 :session *R* -p <- ggplot(table, aes(x=Year)) + geom_bar(stat="identity", aes(y=Wheat)) +p <- ggplot(table, aes(x=Year)) + + geom_bar(stat="identity", aes(y=Wheat)) p #+end_src #+RESULTS: -[[file:/tmp/babel-Oq2fjp/figureKb9HYv.png]] +[[file:/tmp/babel-mdw4ds/figureMc14eD.png]] Notons que, puisque nous avons supprimée les entrées pour lesquelles nous n'avions pas de valeurs pour la colonne /Wages/, les trois @@ -252,7 +262,7 @@ p #+end_src #+RESULTS: -[[file:/tmp/babel-Oq2fjp/figurehiCWPa.png]] +[[file:/tmp/babel-mdw4ds/figurezDPXzY.png]] ** Ajout de divers éléments @@ -261,20 +271,27 @@ manière de Playfair, nous allons procéder à quelques ajouts pour nous rapprocher du graphe initial, tels que: - Changer le label de l'axe des ordonnées en "Shillings" +- Dupliquer l'axe des ordonnées à droite du graphe - Répartir l'axe des ordonnées en divisions de 5 shillings - Répartir l'axe des abscisses en divisions de 10 années - Ajouter un titre #+begin_src R :results output graphics :file (org-babel-temp-file "figure" ".png") :exports both :width 600 :height 400 :session *R* p <- p + ylab("Shillings") -p <- p + scale_y_continuous(breaks=seq(0,100,5),sec.axis=sec_axis(~.,name=derive(),breaks=derive())) -p <- p + scale_x_continuous(breaks=seq(min(table$Year),max(table$Year),10)) + theme(axis.text.x = element_text(angle=45)) +p <- p + scale_y_continuous( + breaks=seq(0,100,5), + sec.axis=sec_axis(~.,name=derive(),breaks=derive()) + ) +p <- p + scale_x_continuous( + breaks=seq(min(table$Year),max(table$Year),10) + ) + + theme(axis.text.x = element_text(angle=45)) p <- p + ggtitle("Showing at one view the price of the quarter of Wheat and Wages of labour by the week") p #+end_src #+RESULTS: -[[file:/tmp/babel-Oq2fjp/figurehqdsjW.png]] +[[file:/tmp/babel-mdw4ds/figureG4TJjY.png]] * Mise à jour du graphe de Playfair @@ -306,15 +323,22 @@ ggplot(table, aes(x=Year)) + geom_area(aes(y=Wages), stat="identity", fill="lightblue") + geom_line(aes(y=Wages), stat="identity", color="red",size=2) + ylab("Price of the Quarter of Wheat in Shillings") + - scale_y_continuous(breaks=seq(0,100,5),sec.axis=sec_axis(~.,name="Weekly Wages in Shillings",breaks=derive()))+ - scale_x_continuous(breaks=seq(min(table$Year),max(table$Year),10)) + theme(axis.text.x = element_text(angle=45)) + + scale_y_continuous( + breaks=seq(0,100,5), + sec.axis=sec_axis(~., + name="Weekly Wages in Shillings", + breaks=derive() + ) + )+ + scale_x_continuous(breaks=seq(min(table$Year),max(table$Year),10))+ + theme(axis.text.x = element_text(angle=45)) + ggtitle("Showing at one view the price of the quarter of Wheat and Wages of labour by the week") #+end_src #+RESULTS: -[[file:/tmp/babel-Oq2fjp/figurel7s6rU.png]] +[[file:/tmp/babel-mdw4ds/figureuSpAnt.png]] -** Autre représentation +** Autres représentations graphiques Mixer ensemble un /barplot/ et un /linechart/, mis à part dans des cas très spécifiques, peut rendre compliquer la comparaison des données. @@ -350,12 +374,19 @@ comparaison. ggplot(n_data, aes(x=Year, y=value, fill=variable)) + geom_bar(stat="identity",position=position_dodge()) + ylab("Price of the Quarter of Wheat in Shillings") + - scale_y_continuous(breaks=seq(0,100,5),sec.axis=sec_axis(~.,name="Weekly Wages in Shillings",breaks=derive()))+ - scale_x_continuous(breaks=seq(min(table$Year),max(table$Year),10)) + theme(axis.text.x = element_text(angle=45)) + scale_y_continuous( + breaks=seq(0,100,5), + sec.axis=sec_axis(~., + name="Weekly Wages in Shillings", + breaks=derive() + ) + )+ + scale_x_continuous(breaks=seq(min(table$Year),max(table$Year),10)) + + theme(axis.text.x = element_text(angle=45)) #+end_src #+RESULTS: -[[file:/tmp/babel-Oq2fjp/figureJPGcBM.png]] +[[file:/tmp/babel-mdw4ds/figureyidnjM.png]] Cependant, si cette représentation permet de comparer prix du blé et salaire hedbomadaire, la prix du blé reste assez volatile et il est @@ -370,22 +401,119 @@ ggplot(n_data,aes(x=Year,y=value, color=variable)) + geom_point() + geom_smooth() + ylab("Price of the Quarter of Wheat in Shillings") + - scale_y_continuous(breaks=seq(0,100,5),sec.axis=sec_axis(~.,name="Weekly Wages in Shillings",breaks=derive()))+ - scale_x_continuous(breaks=seq(min(table$Year),max(table$Year),10)) + theme(axis.text.x = element_text(angle=45)) + scale_y_continuous( + breaks=seq(0,100,5), + sec.axis=sec_axis(~., + name="Weekly Wages in Shillings", + breaks=derive() + ) + )+ + scale_x_continuous(breaks=seq(min(table$Year),max(table$Year),10)) + + theme(axis.text.x = element_text(angle=45)) #+end_src #+RESULTS: -[[file:/tmp/babel-Oq2fjp/figureQM6mAu.png]] +[[file:/tmp/babel-mdw4ds/figurel1YOJe.png]] Avec cette dernière représentation, nous pouvons observer une augmentation quasi-linéaire des salaires depuis environ l'année 1700, ainsi qu'une diminution du prix du blé jusqu'à environ l'année 1750, ce qui peut laisser supposer à une augmentation du "pouvoir -d'achat" des salariés. +d'achat" des ouvriers. Cependant, nous pouvons aussi observer qu'à partir de 1750 (environ), le prix du blé a augmenté de manière drastiquement plus rapidement que les salaires hebdomadaire. Cette observation remet quelque peu en question l'augmentation du -pouvoir d'achat des salariés décrite par William Playfair. +pouvoir d'achat des ouvriers décrite par William Playfair. + +* Mise en évidence du pouvoir d'achat des ouvriers + +Dans son étude, William Playfair souhaitait mettre en évidence +l'augmentation dans le temps du pouvoir d'achat des ouvriers. + +Cependant, le pouvoir d'achat, définie comme "la quantité de blé qu'un +ouvrier peut acheter avec son salaire hebdomadaire", n'est pas une +quelque chose que l'on peut quantifier simplement en comparant +l'évolution du prix du blé et des salaires. Il nous faut donc la +calculer pour en avoir une meilleure appréciation. + +Pour ce faire, nous allons ajouter une colonne /Qty/ à notre table qui +contiendra la quantité de blé (en Kg) qu'un ouvrier peut acheter avec +son salaire hebdomadaire, calculé à l'aide de la formule $Qty = Wages / +Wheat * 6.8$ (un quart de boisseau de blé équivalent, environ, à 6.8Kg). + +#+begin_src R :results output :session *R* :exports both +table["Qty"] = table$Wages / table$Wheat * 6.8 +summary(table) +#+end_src + +#+RESULTS: +: +: Year Wheat Wages Qty +: Min. :1565 Min. :26.00 Min. : 5.000 Min. :0.5886 +: 1st Qu.:1626 1st Qu.:32.25 1st Qu.: 6.145 1st Qu.:1.1088 +: Median :1688 Median :40.25 Median : 7.800 Median :1.4316 +: Mean :1688 Mean :42.14 Mean :11.582 Mean :1.9012 +: 3rd Qu.:1749 3rd Qu.:45.75 3rd Qu.:14.875 3rd Qu.:2.7566 +: Max. :1810 Max. :99.00 Max. :30.000 Max. :3.7238 + +Nous pouvons maintenant représenter l'évolution du pouvoir d'achat des +ouvriers au court du temps comme nous l'avons fait précédemment à +l'aide d'un nuage de points et d'un regression. + +#+begin_src R :results output graphics :file (org-babel-temp-file "figure" ".png") :exports both :width 600 :height 400 :session *R* +ggplot(table, aes(x=Year, y=Qty)) + + geom_point() + + geom_smooth() + + scale_y_continuous(breaks=seq(0,5,0.25)) + + scale_x_continuous(breaks=seq(min(table$Year),max(table$Year),10)) + + ylab("Quantity of Wheat (Kg) purchasable with Weekly Wages") + + ggtitle("Buying power of labourers from 1565 to 1810") + + theme( + axis.text.x = element_text(angle=45), + plot.title = element_text(hjust = 0.5) + ) +#+end_src + +#+RESULTS: +[[file:/tmp/babel-mdw4ds/figurekVEer5.png]] + +Nous pouvons voir sur ce graphique une nette augmentation du pouvoir +d'achat des ouvriers avec un pic aux alentours des années 1750 - 1770. +Cependant, nous pouvons aussi observer une diminution du pouvoir +d'achat à partir de ces années, ce qui peut s'expliquer par +l'augmentation drastique du prix du blé depuis 1750, comme observé +précedemment. + +** Évolution des salaires en fonction du prix du blé + +Une autre manière de représenter le pouvoir d'achat, peut se faire en +observant l'évolution du salaire par rapport au prix du blé à l'aide +d'un nuage de points. + +Afin de ne pas perdre la progression du temps, nous colorons les +points en fonction de l'année associée. Les points les plus sombres +réprésentant les plus vieilles entrées et les points les plus clairs, +les plus récentes. + +#+begin_src R :results output graphics :file (org-babel-temp-file "figure" ".png") :exports both :width 600 :height 400 :session *R* +ggplot(table, aes(x=Wheat,y=Wages)) + + geom_point(aes(colour=Year)) + + ylab("Weekly Wages in Shillings") + + xlab("Price of the Quarter of Wheat in Shillings") + + scale_y_continuous(breaks=seq(min(table$Wages),max(table$Wages),5)) + + scale_x_continuous(breaks=seq(min(table$Wheat),max(table$Wheat),5))+ + ggtitle("Weekly Wages depending on the Price of Wheat, from 1565 to 1810") + + theme(plot.title = element_text(hjust = 0.5)) +#+end_src + +#+RESULTS: +[[file:/tmp/babel-mdw4ds/figure1OsMTj.png]] + +Nous pouvons voir sur ce graphique que, à quelques exceptions pret, le prix +du quart de boisseau de blé reste entre 26 et 51 Shillings au court du +temps. Au contraire, le salaire hebdomadaire des ouvriers n'a fait +qu'augmenter au cours du temps, laissant supposer une augmentation du +pouvoir d'achat des ouvriers. diff --git a/module3/exo3/exercice_R_fr.pdf b/module3/exo3/exercice_R_fr.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3131b536e87d98bb1c36b63e6c4538e91d6c2815 Binary files /dev/null and b/module3/exo3/exercice_R_fr.pdf differ