--- title: "Données tabulaires" author: "Maxime Wack" date: "17/11/2020" output: xaringan::moon_reader: css: ['default','css/my_style.css'] lib_dir: libs seal: false nature: ratio: '4:3' countIncrementalSlides: false self-contained: true beforeInit: "addons/macros.js" highlightLines: true --- ```{r setup, include=FALSE} knitr::opts_chunk$set(echo = TRUE, fig.asp= .5) library(tidyverse) library(DT) library(knitr) options(DT.options = list(paging = F, info = F, searching = F)) datatable <- partial(datatable, rownames = F) ``` class: center, middle, title # UE Visualisation ### 2020-2021 ## Dr. Maxime Wack ### AHU Informatique médicale #### Hôpital Européen Georges Pompidou,
Université de Paris --- # Données tabulaires .center[Chargement des données avec `read_csv`] ```{r data, message = F} read_csv("/home/ressources/dataviz/cours03/lab03-data/notes.csv") -> notes ``` ```{r data datatable, echo = F} datatable(notes) ``` --- # Pivot .center[Données *wide* → *long*] ```{r pivot_longer} pivot_longer(notes, Alice:David, names_to = "Prénom", values_to = "Note") -> notes_long ``` ```{r pivot_longer_do, echo = F} datatable(notes_long) ``` ```{r plot longer} notes_long %>% mutate(Date = as.Date(Date, format = "%m/%d/%Y")) %>% ggplot() + aes(x = Date, y = Note, color = Prénom) + geom_line(aes(group = Prénom)) ``` --- # Pivot .center[Données *long* → *wide*] ```{r pivot_wider, eval = F} pivot_wider(notes_long, names_from = Prénom, values_from = Note) ``` ```{r pivot_wider do, echo = F} pivot_wider(notes_long, names_from = Prénom, values_from = Note) %>% datatable ``` --- # Exercices Utiliser les fonctions de `pivot_*` pour exprimer le dataset `gapminder` de différentes manières. ### Représenter l'intégralité sous forme clé-valeur Chaque ligne ne doit porter qu'une valeur de `lifeExp`, `gdpPercap` ou `pop`, pour chaque pays et chaque année. ```{r gapminder longer} # pop, lifeExp et gdpPercap sont pivotées en long vers "Variable" (contenant "pop", "gdpPercap" ou "lifeExp"), et leurs valeurs vers "Valeur" gapminder %>% pivot_longer(c(pop, lifeExp, gdpPercap), names_to = "Variable", values_to = "Valeur") ``` ### Représenter un pays par ligne Une seule ligne par pays, toutes les années × indicateur doivent donner lieu à une nouvelle colonne ```{r gapminder wider} gapminder %>% pivot_wider(c(country, continent), names_from = "year", values_from = c(pop, lifeExp, gdpPercap)) -> gapwider ``` ### Reformer gapminder à partir du précédent exercice ```{r gapwider to original} gapwider %>% pivot_longer(c(-country, -continent), names_to = c(".value", "year"), names_sep = "_") ```