diff --git a/courses/03-design-tabulaire.Rmd b/courses/03-design-tabulaire.Rmd index f1ae383..12a004b 100644 --- a/courses/03-design-tabulaire.Rmd +++ b/courses/03-design-tabulaire.Rmd @@ -15,8 +15,19 @@ output: --- ```{r, include = FALSE} -library(ggplot2) -library(dplyr) +library(tidyverse) +library(DT) +library(knitr) + +opts_chunk$set(echo = F, + warning = F, + error = F, + message = F) +options(DT.options = list(paging = F, + info = F, + searching = F)) + +datatable <- partial(datatable, rownames = F) ``` class: center, middle, title @@ -38,6 +49,11 @@ class: center, middle ## Visualisation de données tabulaires +--- +class: center, middle + +# Principes de design + --- class: center @@ -53,7 +69,7 @@ class: center ### ... --- -class: center,middle +class: center # *Principes* de design @@ -64,7 +80,7 @@ Autant de principes que de designers [https://principles.design](https://principles.design) --- -class: center,middle +class: center # Principes de design @@ -76,8 +92,7 @@ class: center,middle ### Contraste --- -class: center,middle - +class: middle # Unité / Harmonie @@ -92,8 +107,7 @@ class: center,middle .pull-right[![:scale 100%](03_img/princ_unite.png)] --- -class: center,middle - +class: middle # Motifs @@ -106,8 +120,7 @@ class: center,middle .pull-right[![:scale 100%](03_img/princ_motif.png)] --- -class: center,middle - +class: middle # Équilibre @@ -124,7 +137,7 @@ class: center,middle .pull-right[![:scale 100%](03_img/princ_equilibre.png)] --- -class:center,middle +class: middle # Hiérarchisation @@ -143,7 +156,7 @@ class:center,middle .pull-right[![:scale 80%](03_img/princ_hierarch.png)] --- -class: center,middle +class: middle # Mouvement @@ -158,7 +171,7 @@ class: center,middle .pull-right[![:scale 100%](03_img/princ_mouvement.png)] --- -class:center,middle +class: middle # Contraste @@ -211,3 +224,145 @@ class:center, middle class:center, middle ![](03_img/devourThePie3.gif) + +--- +class: center, middle + +# Visualisation de données tabulaires + +--- +class:center + +# Excel + +![](03_img/excel_data.png) + +--- +class:center, middle + +![](03_img/excel_menu.png) + +--- +class:center, middle + +![](03_img/excel_graph.png) + +--- + +# Edgar F Codd + +.pull-left[ + +### 1923 - 2003 + +### Prix Turing 1981 + +### Inventeur des **modèles relationnels** pour la gestion de bases de données + +### Définition des formes normales dans un papier de conférence en **1971** + +] + +.pull-right[![](03_img/Edgar_F_Codd.jpg)] + +--- + +# Formes normales + +## 1NF : une donnée par cellule +*Le domaine de chaque attribut ne contient que des données atomiques* + +## 2NF : 1NF + attributs par clé +*Un attribut non-clé ne dépend pas d'une partie de la clé mais de toute la clé* + +## 3NF : 2NF + attributs de la clé indépendants les uns des autres +*Un attribut non-clé ne déponde pas d'un ou plusieurs attributs ne participant pas à la clé* + +--- +class: center + +# 1NF + +.tiny[ +```{r 0nf} +data.frame(Produit = "TV", + Fournisseur = "samsung, sony") %>% + datatable +``` +] +↓ +```{r 1nf} +data.frame(Produit = c("TV", "TV"), + Fournisseur = c("samsung", "sony")) %>% + datatable +``` + +--- +class: center + +# 2NF + +```{r 2nf} +data.frame(Produit = c("TV", "Phone", "TV"), + Fournisseur = c("Samsung", "Samsung", "Sony"), + Ville = c("Seoul", "Seoul", "Tokyo")) %>% + datatable +``` +↓ +```{r 2nf ok} +data.frame(Produit = c("TV", "Phone", "TV"), + Fournisseur = c("Samsung", "Samsung", "Sony")) %>% + datatable + +data.frame(Fournisseur = c("Samsung", "Sony"), + Ville = c("Seoul", "Tokyo")) %>% + datatable +``` + +--- +class: center + +# 3NF + +```{r 3nf} +data.frame(Fournisseur = c("Samsung", "Sony"), + Ville = c("Seoul", "Tokyo"), + Pays = c("Corée du sud", "Japon")) %>% + datatable +``` +↓ +```{r 3nf ok} +data.frame(Fournisseur = c("Samsung", "Sony"), + Ville = c("Seoul", "Tokyo")) %>% + datatable + +data.frame(Ville = c("Seoul", "Tokyo"), + Pays = c("Corée", "Japon")) %>% + datatable +``` + +--- +class: center + +# À plat + +```{r flat} +data.frame(Produit = c("TV", "Phone", "TV"), + Fournisseur = c("Samsung", "Samsung", "Sony"), + Ville = c("Seoul", "Seoul", "Tokyo"), + Pays = c("Corée", "Corée", "Japon")) %>% + datatable +``` + +### Opération facile à réaliser + +### Chaque observation contient toute l'information + +--- +class: center + +# Avec ggplot2 + +### Relation **1:1** entre *observation* et unité de *geometry* + +### Valeur d'*aesthetic* directement accessible par *observation* diff --git a/courses/03_img/Edgar_F_Codd.jpg b/courses/03_img/Edgar_F_Codd.jpg new file mode 100644 index 0000000..d7e3686 Binary files /dev/null and b/courses/03_img/Edgar_F_Codd.jpg differ