Descobrindo o conjunto de dados

Programação Funcional Intermediária com purrr

Colin Fay

Data Scientist & R Hacker at ThinkR

O conjunto de dados

rstudioconf: uma lista com 5055 tweets

length(rstudioconf)

length(rstudioconf[[1]])
5055

31
library(purrr)
vec_depth(rstudioconf)
4

Fonte: ThinkR-open/datasets

Programação Funcional Intermediária com purrr

JSON - Uma saída típica de API

JSON == listas aninhadas

{
    "menu": {
        "id": "file",
        "value": "File",
        "popup": {
            "menuitem": [
                { "value": "New", "onclick": "CreateNewDoc" },
                { "value": "Open", "onclick": "OpenDoc" },
                { "value": "Close", "onclick": "CloseDoc" }
            ]
        }
    }
}
Programação Funcional Intermediária com purrr

Revisão de predicados

Já vimos:

  • map_*()

  • discard()

  • keep()

Funcionais de predicado:

  • Recebem um elemento e um predicado
  • Aplicam o predicado ao elemento
Programação Funcional Intermediária com purrr

keep() e discard()

keep() mantém os elementos que atendem a uma condição:

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

discard() remove os elementos que atendem a uma condição:

discard(1:10, ~ .x < 5)
5  6  7  8  9 10
Programação Funcional Intermediária com purrr

Vamos praticar!

Programação Funcional Intermediária com purrr

Preparing Video For Download...