Подтвердить что ты не робот

Различия между%.% (Dplyr) и%>% (magrittr)

Пакет dplyr представил оператору %.%, чтобы передать левую сторону в качестве аргумента функции справа, подобно трубе * NIX. Пакет magrittr представляет собой гораздо более легкий пакет, который существует, чтобы определять только тот оператор, похожий на трубу.

Тем не менее один использует %.%, а другой %>%.

Есть ли разница между этими двумя? Могу ли я просто использовать %>% даже в коде dplyr, или это вызовет тонкие ошибки?

При проверке кода на раннем этапе они принимают очень разные пути, поэтому простое сравнение с глазным яблоком предполагает, что они разные. Я не смог найти ничего документально, когда я ищу в Интернете для них, и я не сталкивался с чем-либо в самой документации.

4b9b3361

Ответ 1

Различия включают

  • вы можете использовать . в качестве заполнителя для левой стороны, например.

    iris %>% plot(Sepal.Length ~ Sepal.Width, data = .)
    
  • %>% respects (rhs), например.

    1:10 %>% (call("sum"))
    1:10 %>% (function(x) x^2 + 2*x) 
    

    Для более полезного пример этого, см. https://gist.github.com/anonymous/0c69b019d0b4f6ae5050

  • Для одиночные вызовы функции аргумента, вы можете опустить парсеры:

    "2014-05-18" %>% as.Date
    

Ответ 2

Посмотрите самый первый элемент в текущем файле NEWS:

dplyr теперь импортирует %>% из magrittr (# 330). Я рекомендую вам использовать это вместо %.%, потому что его легче набирать (поскольку вы можете удерживать вниз по клавише переключения) и более гибко