30 setembro, 2021

Selo DC

Revisando

  • No Módulo Básico, Aula 17, vimos:
    • Funções construídas em blocos
    • Funções aninhadas
    • Resultados intermediários como objetos
    • Operador pipe: Nativo (pacote base) e o pacote magrittr

Operador pipe

  • Operador binário
  • Sintaxe:
lhs %>% rhs # Pipe do pacote 'magrittr'
lhs |> rhs  # Pipe nativo do pacote 'base'
  • Tabela de sintaxe:
Sintaxe Equivalência
x %>% f ou x |> f f(x)
x %>% f(y) ou x |> f(y) f(x, y)
x %>% f %>% g %>% h ou x |> f |> g |> h h(g(f(x)))

Aplicação

mtcars |> head()  
##                    mpg cyl disp  hp drat    wt  qsec vs am gear carb
## Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
## Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
## Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
## Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
## Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
## Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1
mtcars |> subset(cyl == 4) |> nrow()
## [1] 11

Aplicação

mtcars |> subset(cyl == 4) |> (function(d) lm(mpg ~ disp, data = d))()
## 
## Call:
## lm(formula = mpg ~ disp, data = d)
## 
## Coefficients:
## (Intercept)         disp  
##     40.8720      -0.1351

Bons estudos!