diff --git a/module3/exo3/exercice_fr.Rmd b/module3/exo3/exercice_fr.Rmd index c74d7d8da685f18d7c1002cd1d8a5dd01ffb65ac..1fcd8db0d6368e9c8f3d108636cbb934bc956949 100644 --- a/module3/exo3/exercice_fr.Rmd +++ b/module3/exo3/exercice_fr.Rmd @@ -2,9 +2,8 @@ title: "John Snow’s Cholera data" author: "Emilie Rojas" date: "4/16/2020" -output: - html_document: default - pdf_document: default +output: pdf_document + --- ```{r packages, include=FALSE} @@ -24,7 +23,9 @@ if (!file.exists(data_SHP)) { download.file(data_url, data_file, method="auto") } unzip(data_SHP, overwrite = TRUE) #pour le dézipper et pouvoir ouvrir le fichier sur l'ordinateurs +``` +```{r, include=FALSE} morts <- st_read(dsn = '~/Desktop/FUN MOOC 2020/recherche reproductible/SnowGIS_SHP/Cholera_Deaths.shp') %>% st_transform(morts, crs = 4326) #lecture du fichier shp avec st_read, et transformation des coordonnées pour en simple caractère pour pouvoir les modifier @@ -33,8 +34,15 @@ morts$geom<-str_replace(morts$geom, pattern = "[c]*[(]", replacement = "") #pou morts$geom<-str_replace(morts$geom, pattern = "[)]", replacement = "") #pour enlever les "c()" morts<-separate(data=morts,col = "geom", into = c("long","lat"), sep = ",") #pour séparer la colonne en 2 colonnes via "," indiquant la longitude et latitude +``` + + +```{r} +morts #nombre de morts du Choléra et leur coordonnées +``` +```{r, include=FALSE} pompes <- st_read(dsn = '~/Desktop/FUN MOOC 2020/recherche reproductible/SnowGIS_SHP/Pumps.shp') %>% st_transform(pompes, crs = 4326) pompes$geom<- as.character(pompes$geometry) pompes$geom<-str_replace(pompes$geom, pattern = "[c]*[(]", replacement = "") @@ -44,6 +52,11 @@ pompes<-separate(data=pompes,col = "geom", pompes$Id<-c("P1 BD","P2","P3","P4","P5","P6","P7","P8") #ajout des nom des pompes avec BD pour Brod Street ``` +```{r} +pompes #coordonnées des pompes liées à la propagation du choléra. +``` + + Question 1 : Londres a bien sûr évolué depuis 1854, mais une carte d’aujourd’hui est tout à fait utilisable comme support pour ces données historiques. À partir des données numériques, réalisez une carte dans l’esprit de celle de John Snow. Montrez les lieux de décès avec des symboles dont la taille indique le nombre de décès. Indiquez sur la même carte la localisation des pompes en utilisant une autre couleur et/ou un autre symbole. @@ -62,13 +75,17 @@ map <- leaflet(morts) %>% ##leaflet permet de creer des cartes dynamiques addMarkers(data=pompes) #pour rajouter l'emplacement des pompes map ``` -Cliquer sur les symboles représentant les pompes pour ovir leur noms sur la carte. +Cliquer sur les symboles représentant les pompes pour lire leur noms sur la carte. + + + 2. Par la suite, essayez de trouver d'autres façons pour montrer que la pompe de Broad Street est au centre de l'épidémie. Vous pouvez par exemple calculer la densité des décès dans le quartier et l'afficher sur la carte, mais n'hésitez pas à expérimenter avec d'autres approches. -```{r, echo=FALSE} +J'éai décidé de tracer un périmètre sphérique aurout de chaque pompe d'un certain diamètre (mais je n'ai pas compris comment lui dire le nombre de mètre voulus) +```{r, echo=FALSE} pompes1 <- data.frame(lat=pompes$lat, long= pompes$long, noms=pompes$Id) #transformation en dataframe pour l'utiliser dans la création des perimetre autour des pompes que j'ai nommé de P1 à P8 avec P1 la pompes de Broad Street coordinates(pompes1) <- ~long + lat #pour rendre les coordonnées des données spatiales pointsBuffer <- gBuffer(pompes1, width=0.001, byid = TRUE, id=pompes1$noms) #pour determiner un perimetre autour de chaque pompe (mais je n'ai pas réussi à savoir en mètre) @@ -80,7 +97,11 @@ map2 <- leaflet(morts) %>% addMarkers(data=pompes, popup = ~Id) %>% addPolygons(data=pointsBuffer) #pour rajouter autour de chaque pompes un périmètre de XX mètres pour compter le nbre de morts dans ce perimetre map2 +``` +Puis pour montrer que le nombre de morts étaient plus important autour de la pompe de Broad Street j'ai voulu réaliser un histogramme montrant le nombre de morts dans le périmètre de chaque pompe. + +```{r, echo=FALSE} morts1 <- data.frame(long= morts$long,lat=morts$lat) coordinates(morts1) <- ~long + lat count <- over(pointsBuffer, morts1) # fonction "over" : pour compter le nbre de morte dans chaque rayon autour de chaque pompe @@ -90,7 +111,7 @@ barplot(count, ylab = "Nombre de morts", xlab="Numéro de pompes", names.arg=c(" ``` -Malheureusement, je n'ai pas reussi à attribuer le bon nombre de morts à chaque pompes, mais j'ai quand même essayé... +Malheureusement, je n'ai pas reussi à attribuer le bon nombre de morts à chaque pompe, mais j'ai quand même essayé...