From 5528d5610c8b463f2616212412faf966a646be16 Mon Sep 17 00:00:00 2001 From: Olivia Guillin Date: Thu, 11 Jun 2020 00:31:45 +0200 Subject: [PATCH] =?UTF-8?q?Fichier=20.html=20du=20travail=20=C3=A9valu?= =?UTF-8?q?=C3=A9=20par=20les=20pairs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module3/exo3/exercice_R_fr.html | 2282 +++++++++++++++++++++++++++++++ module3/exo3/exercice_R_fr.org | 12 +- 2 files changed, 2288 insertions(+), 6 deletions(-) create mode 100644 module3/exo3/exercice_R_fr.html diff --git a/module3/exo3/exercice_R_fr.html b/module3/exo3/exercice_R_fr.html new file mode 100644 index 0000000..3f377de --- /dev/null +++ b/module3/exo3/exercice_R_fr.html @@ -0,0 +1,2282 @@ + + + + + + + +Travail évalué par les pairs + + + + + + + + + + + + + + +
+

Travail évalué par les pairs

+ + +
+

1 Préparation des données

+
+

+Voici le lien qui correspond aux données traitées dans ce +document. Elles ont été téléchargées le 10 Juin 2020 à 21:51 +

+

+https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv +

+
+ +
+

1.1 Téléchargement des données

+
+

+Nous vérifions si le fichier existe. Si ce n'est pas le cas nous le +téléchargeons. +

+
+
donnees_file ='cas-confirmes-covid19.csv'
+
+import os
+import urllib.request
+if not os.path.exists(donnees_file):
+    urllib.request.urlretrieve(donnees_url,donnees_file)
+
+
+ + +

+Nous commençons le traitement par l'extraction des données. +Ensuite nous découpons le contenu du fichier en lignes, en éliminant les espaces qui pourraient se trouver autour des mots. +Nous conservons toutes les lignes qui sont découpées en colonnes en utilisant le séparateur ','. +

+
+
donnees = open(donnees_file, 'rb').read()
+
+lines = donnees.decode('latin-1').strip().split('\n')
+donnees_lines = lines[0:]
+table = [line.split(',') for line in donnees_lines]
+
+
+
+
+ + +
+

1.2 Trie des données

+
+

+Nous affichons le début du tableau afin d'avoir un aperçu des données +

+
+
table[:10]
+
+
+ + + + +++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Province/StateCountry/RegionLatLong1/22/201/23/201/24/201/25/201/26/201/27/201/28/201/29/201/30/201/31/202/1/202/2/202/3/202/4/202/5/202/6/202/7/202/8/202/9/202/10/202/11/202/12/202/13/202/14/202/15/202/16/202/17/202/18/202/19/202/20/202/21/202/22/202/23/202/24/202/25/202/26/202/27/202/28/202/29/203/1/203/2/203/3/203/4/203/5/203/6/203/7/203/8/203/9/203/10/203/11/203/12/203/13/203/14/203/15/203/16/203/17/203/18/203/19/203/20/203/21/203/22/203/23/203/24/203/25/203/26/203/27/203/28/203/29/203/30/203/31/204/1/204/2/204/3/204/4/204/5/204/6/204/7/204/8/204/9/204/10/204/11/204/12/204/13/204/14/204/15/204/16/204/17/204/18/204/19/204/20/204/21/204/22/204/23/204/24/204/25/204/26/204/27/204/28/204/29/204/30/205/1/205/2/205/3/205/4/205/5/205/6/205/7/205/8/205/9/205/10/205/11/205/12/205/13/205/14/205/15/205/16/205/17/205/18/205/19/205/20/205/21/205/22/205/23/205/24/205/25/205/26/205/27/205/28/205/29/205/30/205/31/206/1/206/2/206/3/206/4/206/5/206/6/206/7/206/8/206/9/20\r
 Afghanistan33.065.000000000000000000000000000000000011111111111114457771116212222222424404074849411011012017017423727328129934936742344448452155560766571478484090693399610261092117612791351146315311703182819392171233524692704289432243392356337784033440246874963522656396053640266647072765381458676921699981058211173118311245613036136591452515205157501650917267180541896919551203422091721459\r
 Albania41.153320.1683000000000000000000000000000000000000000000000002101223333842515559647076891041231461741861972122232432592773043333613773834004094164334464674754945185395485625846096346636787127267367507667737827897958038208328428508568688728768808989169339469489499649699819899981004102910501076109911221137114311641184119712121232124612631299\r
 Algeria28.03391.65960000000000000000000000000000000000111111351212171719202020242637485460748790139201230264302367409454511584716847986117112511320142314681572166617611825191419832070216022682418253426292718281129103007312732563382351736493848400641544295447446484838499751825369555857235891606762536442662968217019720173777542772879188113830685038697885789979134926793949513962697339831993510050101541026510382\r
 Andorra42.50631.521800000000000000000000000000000000000000001111111111111123939537588113133164188224267308334370376390428439466501525545564583601601638646659673673696704713717717723723731738738743743743745745747748750751751752752754755755758760761761761761761761762762762762762763763763763764764764765844851852852852852852852\r
 Angola-11.202717.8739000000000000000000000000000000000000000000000000000000000012233344577788810141617191919191919191919192424242425252525262727272730353535363636434345454545484848485052525860616970707174818486868686868688919296\r
 Antigua and Barbuda17.0608-61.79640000000000000000000000000000000000000000000000000001111111111333777777791515151519191919212123232323232323232324242424242424242425252525252525252525252525252525252525252525252525252525252526262626262626262626\r
 Argentina-38.4161-63.61670000000000000000000000000000000000000000011128121217191931344556687997128158266301387387502589690745820105410541133126514511451155416281715179519751975214222082277244325712669275828392941303131443435360737803892400341274285442845324681478348875020520853715611577660346278656368797134747978058068837188099283993110649113531207612628132281393314702154191621416851174151831919268201972103722020227942362024761\r
 Armenia40.069145.0382000000000000000000000000000000000000000111111111114818265278841151361601942352492652903294074244825325716637367708228338538819219379671013103910671111115912011248129113391401147315231596167717461808186719322066214822732386250726192782288430293175331333923538371838604044428344724823504152715606592863026661711374027774821686768927928294921000910524112211181712364131301332513675\r
Australian Capital TerritoryAustralia-35.4735149.0124000000000000000000000000000000000000000000000000000111223469193239395362717778808487919396969699100103103103102103103103103103103104104104104105106106106106106106106106106107107107107107107107107107107107107107107107107107107107107107107107107107107107107107107107107107108108108108\r
+ +

+Il y a plusieurs lignes qui nous intéressent: +

+
    +
  • la Belgique (Belgium) -> ligne 24
  • +
  • la Chine (China) hors Hong-Kong -> lignes 50 à 61 puis 63 à 83
  • +
  • Hong-Kong -> ligne 62
  • +
  • La France métropolitaine (France) -> ligne 117
  • +
  • L'Allemagne (ligne 121)
  • +
  • l'Iran (ligne 134)
  • +
  • l'Italie (ligne 138)
  • +
  • le Japon (ligne 140)
  • +
  • la Corée du Sud (ligne 144)
  • +
  • la Hollande sans les colonies (ligne 170)
  • +
  • le Portugal (ligne 185)
  • +
  • l'Espagne (ligne 202)
  • +
  • le Royaume-Unis sans les colonies (ligne 224)
  • +
  • les Etats-Unis (ligne 226)
  • +
+ +

+On choisi les lignes qui nous interessent. +

+
+
date = table[0]
+del date[:4]
+belgique = table[24]
+del belgique[:4]
+chine1 = table[50:62]
+chine2 = table[63:83]
+chine = chine1 + chine2
+hong_kong = table[62]
+del hong_kong[:4]
+france_metropolitaine = table[117]
+del france_metropolitaine[:4]
+allemagne = table[121]
+del allemagne[:4]
+iran = table[134]
+del iran[:4]
+italie = table[138]
+del italie[:4]
+japon = table[140]
+del japon[:4]
+coree_du_sud = table[144]
+del coree_du_sud[:5]
+hollande = table[170]
+del hollande[:4]
+portugal = table[185]
+del portugal[:4]
+espagne = table[202]
+del espagne[:4]
+royaume_unis = table[224]
+del royaume_unis[:4]
+etats_unis = table[226]
+del etats_unis[:4]
+
+
+ +

+Pour le cas de la Chine, il faut faire la somme des valeurs de +plusieurs provinces sans Hong-Kong. Pour celà, je vais ajouter les valeurs de chaque +ligne correspondant à des provinces chinoises (sauf Hong-Kong) +

+
+
import numpy as np
+
+sum_chine = np.sum(np.array(chine)[:,4:-1].astype(np.int32),axis=0).tolist()
+
+
+ +

+Je vais maintenant ajouter les dates et tous les pays dans une liste. +

+
+
donnees = list(zip(date, belgique, hong_kong, france_metropolitaine, allemagne, iran, italie, japon, coree_du_sud, hollande, portugal, espagne, royaume_unis, etats_unis, sum_chine))
+
+
+
+
+ + +
+

1.3 Passage Python -> R

+
+

+Nous passons au langage R pour inspecter nos données, parce que l'analyse et la préparation de graphiques sont plus concises en R, sans nécessiter aucune bibliothèque supplémentaire. +

+ +

+Nous utilisons le mécanisme d'échange de données proposé par org-mode, ce qui nécessite un peu de code Python pour transformer les données dans le bon format. +

+
+
[('Date', 'Belgique', 'Hong-Kong', 'France', 'Allemagne', 'Iran', 'Italie', 'Japon', 'Corée du Sud', 'Hollande', 'Portugal', 'Espagne', 'Royaume-Unis', 'Etats-Unis', 'Chine'), None] + [(str(en_tete), belgique, hong_kong, france_metropolitaine, allemagne, iran, italie, japon, coree_du_sud, hollande, portugal, espagne, royaume_unis, etats_unis, sum_chine) for en_tete, belgique, hong_kong, france_metropolitaine, allemagne, iran, italie, japon, coree_du_sud, hollande, portugal, espagne, royaume_unis, etats_unis, sum_chine in donnees]
+
+
+ +

+En R, les données arrivent sous forme d'un data frame, mais il faut encore convertir les dates, qui arrivent comme chaînes de caractères. +

+
+
date_evt_bis=as.Date(donnees$Date, format="%m/%d/%Y")
+
+
+
+
+
+ + +
+

2 Analyse

+
+

+On peut maintenant faire le graphe du nombre de mort en échelle linéaire. +

+
+
plot(date_evt_bis, donnees$Belgique, type ='l', col ='brown', lwd =2, 
+     ylab='Morts cumulées',
+     xlab='Date',
+     ylim=c(0,2500000))
+lines(date_evt_bis, donnees$Hong.Kong, type ='l', col ='blue', lwd =2)
+lines(date_evt_bis, donnees$France, type ='l', col ='aquamarine3', lwd =2)
+lines(date_evt_bis, donnees$Allemagne, type ='l', col ='darkorange', lwd =2)
+lines(date_evt_bis, donnees$Iran, type ='l', col ='gray', lwd =2)
+lines(date_evt_bis, donnees$Italie, type ='l', col ='darkgreen', lwd =2)
+lines(date_evt_bis, donnees$Japon, type ='l', col ='darkblue', lwd =2)
+lines(date_evt_bis, donnees$Corée.du.Sud, type ='l', col ='deeppink', lwd =2)
+lines(date_evt_bis, donnees$Hollande, type ='l', col ='darkviolet', lwd =2)
+lines(date_evt_bis, donnees$Portugal, type ='l', col='green', lwd =2)
+lines(date_evt_bis, donnees$Espagne, type ='l', col ='red', lwd =2)
+lines(date_evt_bis, donnees$Royaume.Unis, type ='l',col ='darkred', lwd =2)
+lines(date_evt_bis, donnees$Etats.Unis, type ='l', col='yellow2', lwd =2)
+lines(date_evt_bis, donnees$Chine, type ='l', col='black', lwd =2)
+legend('topleft', inset=0.05 , legend =c('Hong-Kong', 'France', 'Allemagne', 'Iran', 'Italie', 'Japon', 'Corée du Sud', 'Hollande', 'Portugal', 'Espagne', 'Royaume-Uni', 'Etats-Unis', 'Chine'), col=c('blue', 'aquamarine3', 'darkorange', 'gray', 'darkgreen', 'darkblue', 'deeppink', 'darkviolet', 'green', 'red', 'darkred', 'yellow2', 'black'), lty=1, lwd=2)
+
+
+ + +
+

Covid19_lin.png +

+
+ +

+Puis en échelle logarithmique +

+
+
plot(date_evt_bis, donnees$Belgique, type ='l', col ='brown', lwd =2, 
+     ylab='Morts cumulées',
+     xlab='Date',
+     log='y',
+     ylim=c(1,2500000))
+lines(date_evt_bis, donnees$Hong.Kong, type ='l', col ='blue', lwd =2)
+lines(date_evt_bis, donnees$France, type ='l', col ='aquamarine3', lwd =2)
+lines(date_evt_bis, donnees$Allemagne, type ='l', col ='darkorange', lwd =2)
+lines(date_evt_bis, donnees$Iran, type ='l', col ='gray', lwd =2)
+lines(date_evt_bis, donnees$Italie, type ='l', col ='darkgreen', lwd =2)
+lines(date_evt_bis, donnees$Japon, type ='l', col ='darkblue', lwd =2)
+lines(date_evt_bis, donnees$Corée.du.Sud, type ='l', col ='deeppink', lwd =2)
+lines(date_evt_bis, donnees$Hollande, type ='l', col ='darkviolet', lwd =2)
+lines(date_evt_bis, donnees$Portugal, type ='l', col='green', lwd =2)
+lines(date_evt_bis, donnees$Espagne, type ='l', col ='red', lwd =2)
+lines(date_evt_bis, donnees$Royaume.Unis, type ='l',col ='darkred', lwd =2)
+lines(date_evt_bis, donnees$Etats.Unis, type ='l', col='yellow2', lwd =2)
+lines(date_evt_bis, donnees$Chine, type ='l', col='black', lwd =2)
+
+
+ + +
+

Covid19_log.png +

+
+
+
+
+
+

Date: 10 Juin 2020

+

Auteur: Olivia

+

Created: 2020-06-11 Jeu 00:25

+

Validate

+
+ + diff --git a/module3/exo3/exercice_R_fr.org b/module3/exo3/exercice_R_fr.org index 4bf5085..d6906fe 100644 --- a/module3/exo3/exercice_R_fr.org +++ b/module3/exo3/exercice_R_fr.org @@ -1,6 +1,6 @@ -#+Title: Votre titre -#+AUTHOR: Votre nom -#+DATE: La date du jour +#+Title: Travail évalué par les pairs +#+AUTHOR: Olivia +#+DATE: 10 Juin 2020 #+LANGUAGE: fr # #+PROPERTY: header-args :eval never-export @@ -47,7 +47,7 @@ table = [line.split(',') for line in donnees_lines] ** Trie des données Nous affichons le début du tableau afin d'avoir un aperçu des données -#+begin_src python :results value :session +#+begin_src python :results value :session :exports both table[:10] #+end_src @@ -147,7 +147,7 @@ date_evt_bis=as.Date(donnees$Date, format="%m/%d/%Y") * Analyse On peut maintenant faire le graphe du nombre de mort en échelle linéaire. -#+BEGIN_SRC R :results output graphics :file Covid19_lin.png :session +#+BEGIN_SRC R :results output graphics :file Covid19_lin.png :session :exports both plot(date_evt_bis, donnees$Belgique, type ='l', col ='brown', lwd =2, ylab='Morts cumulées', xlab='Date', @@ -172,7 +172,7 @@ legend('topleft', inset=0.05 , legend =c('Hong-Kong', 'France', 'Allemagne', 'Ir [[file:Covid19_lin.png]] Puis en échelle logarithmique -#+BEGIN_SRC R :results output graphics :file Covid19_log.png :session +#+BEGIN_SRC R :results output graphics :file Covid19_log.png :session :exports both plot(date_evt_bis, donnees$Belgique, type ='l', col ='brown', lwd =2, ylab='Morts cumulées', xlab='Date', -- 2.18.1