3.1 Pipe %>%

Considere o seguinte exemplo:

f <- function(x, y) x + y
x <- 1
y <- 2

As duas linhas abaixo são equivalentes:

f(x, y)
#> [1] 3
x %>% f(y)
#> [1] 3

Exemplo: alcular raiz quadrada da soma dos valores de 1 a 4.

x <- c(1, 2, 3, 4)
x %>% sum() %>% sqrt()
#> [1] 3.162278

Escrever esse cálculo na forma usual ficaria da seguinte forma:

sqrt(sum(x))
#> [1] 3.162278

3.1.1 Receita de bolo

Tente entender o que é preciso fazer.

esfrie(
  asse(
    coloque(
      bata(
        acrescente(
          recipiente(rep("farinha", 2), "água", 
                     "fermento", "leite", "óleo"), 
          "farinha", até = "macio"), 
        duração = "3min"), 
      lugar = "forma", tipo = "grande", 
      untada = TRUE), duração = "50min"), 
  "geladeira", "20min")

Desistiu? Agora veja como fica escrevendo com o %>%:

recipiente(rep("farinha", 2), "água", "fermento", "leite", "óleo") %>%
  acrescente("farinha", até = "macio") %>%
  bata(duraço = "3min") %>%
  coloque(lugar = "forma", tipo = "grande", untada = TRUE) %>%
  asse(duração = "50min") %>%
  esfrie("geladeira", "20min")

Agora o código realmente parece uma receita de bolo.

Para mais informações sobre o pipe e exemplos de utilização, visite a página Ceci n’est pas un pipe.