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