Цепные арифметические операторы в dplyr с%>% pipe
Я хотел бы понять, почему вdplyr
или жеmagrittr
пакет, а точнее функция сцепления%>%
есть некоторые проблемы с основными операторами+
, -
, *
, а также/
Цепочка принимает вывод предыдущего оператора и передает его в качестве первого аргумента следующего:
1:10 %>% sum
# [55]
Так почему же это не работает
1:10 %>% *2 %>% sum
1:10 %>% .*2 %>% sum
Я также обнаружил, что следующий синтаксис работает для добавления / вычитания, но не для умножения или деления. почему так?
1:10 %>% +(2) # works OK
1:10 %>% *(2) # nope...
Так что я должен написать анонимную функцию, чтобы сделать*2
операция на моем data.frame?
1:10 %>% (function(x) x*2) %>% sum
Спасибо, я не смог найти ответ на другие вопросы SO.