knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  echo = TRUE
)

Enchaîner les commandes avec magrittr {.columns-2}

`%>%`

{width=30%}

Exemple {.columns-2 .bigger}

set.seed(7895)

hist(rnorm(10))
library(magrittr)
set.seed(7895)
rnorm(10) %>% hist()

Le tidyverse {.bigger}

![Tidyverse: https://www.tidyverse.org/](img/S02dplyr/tidyverse.jpg){width=70%}

Avant toute chose

Charger le package dplyr...

library(dplyr) # ou require(dplyr)

Ou bien charger tidyverse...

library(tidyverse)

... mais cela chargera d'autres packages en plus

Et charger les données.

data("fruits", package = "tidyViz")

Le format "tibble" {.smaller}

Les données sont au format "tibble" : c'est comme des "data-frames" mais en mieux !

fruits

Les fonctions de dplyr {.bigger}

Nous allons voir ensemble quelques fonctions très pratiques de la librairie dplyr.

# | Fonction (US) | Fonction (UK) | Description ---|:-------------:|:-------------:|:---------- 1 | mutate | mutate | Créer ou modifier des colonnes 2 | select | select | Sélectionner des colonnes 3 | arrange | arrange | Trier les lignes 4 | filter | filter | Sélectionner des lignes 5 | group_by | group_by | Grouper des lignes 6 | summarize | summarise | Résumer des groupes

Créer ou modifier des colonnes {.columns-2 .smaller}

Avec la fonction mutate.

fruits2 <- fruits %>% 
  mutate(Sucres_ratio = Sucres / 100)

head(fruits2[, "Sucres_ratio"])

Avec les fonctions classiques.

fruits2 <- fruits
fruits2$Sucres_ratio <- 
  fruits2$Sucres / 100
head(fruits2[, "Sucres_ratio"])

Sélectionner des colonnes {.columns-2 }

Avec la fonction select.

fruits %>% 
  select(
    Energie,
    Sucres,
    Lipides,
    Proteines)

Avec les fonctions classiques.

fruits[, 
  c(
    "Energie",
    "Sucres",
    "Lipides",
    "Proteines")]

Trier des lignes {.columns-2 .smaller}

Avec les fonctions arrange et desc.

fruits %>% 
  select(Energie, Sucres, Fibres) %>%
  arrange(desc(Fibres))

Avec les fonctions classiques

fruits[
  order(fruits$Fibres, decreasing = TRUE),
  c("Energie", "Sucres", "Fibres")]

Sélectionner des lignes {.columns-2 .smaller}

Avec la fonction filter.

fruits %>% 
  filter(Sucres > 60)

Avec les fonctions classiques.

fruits[fruits$Sucres > 60, ]

Agréger des colonnes {.smaller}

Avec la fonction group_by :

fruits %>% group_by(groupe)

Les données sont prêtes à être "traitées" groupe par groupe. PS : L'opération ungroup() permet d'enlever les groupes.

Calculer une moyenne {.columns-2 .smaller}

Avec la fonction summarize.

fruits %>% 
  group_by(groupe) %>%
  summarize(SucreMoyen = mean(Sucres))

Avec les fonctions classiques.

aggregate(fruits$Sucres, 
          by = list(fruits$groupe), 
          FUN = mean)

Exercice(s)

Calculer l'énergie moyenne, la teneur en sucres médiane et le maximum de la teneur en Fibres par groupe de fruits et trier le tout par ordre décroissant du maximum de la teneur en Fibres !

Deux autres fonctions {.columns-2 .center}


              Sélectionne  Ne sélectionne pas

Ne transforme pas select rename Peut transformer transmute mutate


{width=100%}

Mais il y en a tellement d'autres ! {data-background=#ffffff}

{width=50%}



vguillemot/tidyViz documentation built on Dec. 23, 2021, 3:09 p.m.