Нет установленного порядка, потому что вы можете поместить эти команды в любом порядке или последовательности в зависимости от того, что вы хотите сделать.
Наблюдать:
mtcars %>%
group_by(cyl) %>%
summarise(Avg_mpg = mean(mpg), Avg_carb = mean(carb)) %>%
filter(Avg_carb > 1) %>%
arrange(desc(Avg_mpg))
В равной степени допустим как пример кода, но, конечно, делает что-то совсем другое.
Вы должны понимать, что труба %>%
здесь на самом деле не имеет значения! Канал просто упрощает ваш синтаксис, опуская набор данных в каждом вызове функции.
filter
, arrange
, mutate
и т. Д. c. может быть соединен в цепочку, как вам нравится, и вам не нужно следовать заданному шаблону c.
group_by()
и summarise()
несколько отличаются тем, что в основном имеет смысл сначала группировать, а затем обобщать, но вы можете цепочка другой группировки непосредственно после вызова суммирования или суммирования без первой группировки.
Опять канал не является инструментом последовательности, он просто делает это:
# without pipe
filter(mtcars, carb > 1)
# with pipe
mtcars %>%
filter(carb > 1)
# without pipe
arrange(filter(mtcars, carb > 1),mpg)
# with pipe
mtcars %>%
filter(mtcars, carb > 1) %>%
arrange(mpg)
Канал просто сохраняет фрейм данных, полученный в результате ваша операция и подталкивает ее к следующей операции.