---
title: "Data Science, </br>Séance 5 : dplyr, tidyr"
author: "Etienne Côme"
date: "21 novembre 2019"
output:
  beamer_presentation:
    toc: false
    incremental: false
  revealjs::revealjs_presentation:
    theme: night
    transition: none
    self_contained: true
    css: slides.css
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
```






## <span class="green">dplyr,tidyr</span>
2 libraries pour faciliter la manipulationde données
(<a href="./data-wrangling-cheatsheet.pdf">Cheatsheet</a>)</br>
! Introduction d'un nouvel opérateur !</br>
Enchainer des opérations introduction de l'opérateur de pipe :

<h1 class="red" style="text-align:center">%&gt;% 
</h1>
<pre><code class="r"> x%&gt;% f(y) =f(x,y) </pre></code>
<pre><code class="r"> x%&gt;% f(y) %&gt;% g(z) = g(f(x,y),z) </pre></code>
Faciliter la lecture du code produit






## <span class="green">dplyr,tidyr</span>
<h2>Sélection de lignes "filter"</h2>
<pre><code class="r">data %&gt;% filter(condition)
data %>% distinct(v1)
data %>% sample_n(15,replace=FALSE)
data %>% sample_frac(0.2)
data %>% top_n(5,v1)
data %>% slice(20:30)</pre></code>




## <span class="green">dplyr,tidyr</span>
<h2>Sélection de colonnes "select"</h2>
<pre><code class="r">data %&gt;% select(v1,v2)
data %&gt;% select(contains('var'))
data %&gt;% select(-v3)
...</pre></code>



## <span class="green">dplyr,tidyr</span>

<h2>Transformation "mutate"</h2>
<pre><code class="r">data %&gt;% mutate(v3=v1/v2)
</pre></code>

<pre><code class="r"> data %&gt;% rename(v4=v1)
</pre></code>


## <span class="green">dplyr,tidyr</span>
<h2>Résumé "summarise"</h2>
<pre><code class="r">data %&gt;% summarise(v1m=mean(v1))
data %&gt;% count(v4)
...</pre></code>
<h2>Avec des données groupées "group_by"</h2>
<pre><code class="r">
data %&gt;% group_by(group) %>% summarise(v1m=mean(v1))
data %&gt;% group_by(group) %>% summarise(v1med=median(v1))
...</pre></code>



## <span class="green">dplyr,tidyr</span>
<h2>jointure "X_join"</h2>
<pre><code class="r"> 
data1 %&gt;% left_join(data2)
data1 %&gt;% right_join(data2)
data1 %&gt;% inner_join(data2)
data1 %&gt;% full_join(data2)
</pre></code>

## <span class="green">dplyr,tidyr</span>
<h2>Remise en forme </h2>
<ul>
<li> gather : format large -> format long
<li> spread : format long -> format large
<li> separate : split d'une colonne
<li> unite : concatenation de colonnes
</ul>
</section>


## <span class="green">dplyr,tidyr, exercice</span>
<h2>Prénoms</h2>
Faire une carte représentant le prénoms masculin le plus fréquement donnés aux enfants nés en 2005 pour l'ensemble des départements français.
Les données à utiliser sont disponnibles dans le répertoire data :

- <a href="./Data/exo5_dep.csv">./Data/exo5_dep.csv : centroid des départements</a> 
- <a href="./Data/exo5_dep.csv">./Data/exo5_prenoms.csv : Fichier des prenoms</a> 



## <span class="green">dplyr,tidyr, exercice</span> {data-background=#ffffff}
<img src='./images/prénomsmap.png' width="1000px">

