Découvrir l'ensemble de données

Programmation fonctionnelle intermédiaire avec purrr

Colin Fay

Data Scientist & R Hacker at ThinkR

L'ensemble de données

rstudioconf : une liste de 5 055 tweets

length(rstudioconf)

length(rstudioconf[[1]])
5055

31
library(purrr)
vec_depth(rstudioconf)
4

Source : ThinkR-open/datasets

Programmation fonctionnelle intermédiaire avec purrr

JSON – Sortie typique d'une API

JSON == listes imbriquées

{
    "menu": {
        "id": "file",
        "value": "File",
        "popup": {
            "menuitem": [
                { "value": "New", "onclick": "CreateNewDoc" },
                { "value": "Open", "onclick": "OpenDoc" },
                { "value": "Close", "onclick": "CloseDoc" }
            ]
        }
    }
}
Programmation fonctionnelle intermédiaire avec purrr

Rappel sur les prédicats

Nous avons vu :

  • map_*()

  • discard()

  • keep()

Fonctionnels à prédicat :

  • Prendre un élément et un prédicat
  • Appliquer le prédicat à l'élément
Programmation fonctionnelle intermédiaire avec purrr

keep() et discard()

keep() conserve les éléments qui respectent une condition :

keep(1:10, ~ .x < 5)
1 2 3 4

discard() élimine les éléments qui respectent une condition :

discard(1:10, ~ .x < 5)
5  6  7  8  9 10
Programmation fonctionnelle intermédiaire avec purrr

Passons à la pratique !

Programmation fonctionnelle intermédiaire avec purrr

Preparing Video For Download...