Como utilizar o pipe

COMO ESCREVER UMA BOA PERGUNTA

Estou tentando simplificar esse código para o pipe (exercicio 2, do livro curso-r, no capítulo do pipe):
round(mean(sum(1:10/3, digits=1)))
Estou tentando simplificar para essa forma com o pipe:
sum(1:10/3, digits=1)
%>% mean()
%>% round()
Mas eu retorno do r esse erro:

sum(1:10/3, digits=1)
[1] 19.33333
%>% mean()
Erro: SPECIAL inesperado in “%>%”
%>% round()
Erro: SPECIAL inesperado in “%>%”
O que eu estaria fazendo de errado no uso do pipe?

O seu problema é meramente sintático! Perceba que o R executou cada linha do código separadamente. Você precisa terminar a linha com o pipe, não colocá-lo no começo. Abaixo vai a minha solução para o exercício:

library(magrittr)

1:10 %>%
  sum() %>%
  divide_by(3) %>%
  mean() %>%
  round(digits = 1)
#> [1] 18.3

Created on 2021-03-03 by the reprex package (v1.0.0)

P.S.: O código do exercício 2 é round(mean(sum(1:10)/3), digits = 1). A posição dos parênteses faz muita diferença!

1 curtida