From 41c2ced48fb7547d2e7f92244e30f8b7ca648585 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Pelletier?= Date: Sun, 9 Oct 2016 01:27:38 -0400 Subject: [PATCH] ajout plotly --- leaflet.Rmd | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/leaflet.Rmd b/leaflet.Rmd index 5c4bdea..1efac26 100644 --- a/leaflet.Rmd +++ b/leaflet.Rmd @@ -133,3 +133,85 @@ palette_arrondissement <- colorFactor(rainbow(levels(ARROND$NOM) %>% length()), l1 %>% addPolygons(data=ARROND, color = ~palette_arrondissement(NOM)) ``` +# Plotly + +## Introduction + +Plotly est une bliblothèque de graphiques interactifs en JavaScript. Tout comme Leaflet, on peut l'utiliser via des interfaces dans plusieurs langages de programmation, dont R. + +```{r, echo=TRUE} +library(plotly) +``` + + +## Données sélectionnées +Nous utiliserons les données suivantes: + +[Enquête sur les dépenses des ménages (EDM), dépenses des ménages, selon le mode d'occupation du logement](http://ouvert.canada.ca/data/fr/dataset/ffd02f84-1b13-479f-83a9-35f6d17296c7) + +```{r, echo=TRUE} +emd_2016 <- read.table("DATA/02030024-fra.csv",sep=";", header=TRUE, dec = ",", na.strings = c("..","F"), stringsAsFactors = FALSE) +``` + +## Sélection + +On identifie les 8 catégories avec le plus de dépenses, peu importe le mode d'occupation du logement, en excluant les sommaires. +```{r, echo=TRUE} +Top20Summary <- emd_2016 %>% group_by(SUMMARY) %>% + summarise(Valeur_totale = sum(Valeur)) %>% + arrange(Valeur_totale %>% desc) %>% + filter(!(SUMMARY %in% list("Dépenses totales","Consommation courante totale"))) %>% + head(8) %>% + select(SUMMARY) +``` + +## Aggrégation + +On sélectionne les valeurs correspondant aux catégories identifiées précédemment, on supprime les sommaires +```{r, echo=TRUE} +agg_emd_2016 <- emd_2016 %>% + merge(Top20Summary, all=FALSE) %>% + select(Date_Ref, TENURE, SUMMARY, Valeur) %>% + filter(!(TENURE %in% list("Toutes les classes","Propriétaire"))) %>% + group_by(TENURE,SUMMARY) %>% + summarise(m_valeur = mean(Valeur)) +``` + +## Préparation des données +```{r, echo=TRUE} +library(reshape2) +cast_agg_emd_2016 <- agg_emd_2016 %>% dcast(SUMMARY ~ TENURE, value.var = "m_valeur") +names_col <- names(cast_agg_emd_2016) +names(cast_agg_emd_2016) <- c("SUMMARY","loc","pah","psh") +top_labels <- names_col[-1] +``` + +## Affichage du graphique +On crée une [graphique à barres groupées](https://plot.ly/r/bar-charts/#grouped-bar-chart), qui permetta de comparer la dépense pour le même sommaire par mode d'occupation du logement. + +```{r, echo=TRUE} +plot_ly(data = cast_agg_emd_2016, + y = ~loc, + x = ~SUMMARY, + type = 'bar', + orientation = 'v', + marker = list(color = 'rgba(38, 24, 74, 0.8)', + line = list(color = 'rgb(248, 248, 249)', + width = 1.5)), + name=top_labels[1]) %>% + add_trace(y = ~pah, + marker = list(color = 'rgba(71, 58, 131, 0.8)'), + name=top_labels[2]) %>% + add_trace(y = ~psh, + marker = list(color = 'rgba(71, 58, 131, 0.8)'), + name=top_labels[3]) %>% + layout(barmode = 'grouped', + xaxis = list(title = "", + tickangle = -45), + yaxis = list(title = "Montant en $"), + margin = list(l = 100, b = 100)) +``` + + + +# ggplot2